Method and apparatus for image registration using large deformation diffeomorphisms on a sphere

ABSTRACT

An apparatus and method for image registration of a template image with a target image with large deformation. The apparatus and method involve computing a large deformation transform based on landmark manifolds, image data or both. The apparatus and method are capable of registering images with a small number of landmark points. Registering the images is accomplished by applying the large deformation transform.&lt;/PTEXT&gt;

RELATED APPLICATIONS

This is a continuation-in-part of prior U.S. patent application Ser. No. 09/186,359 filed Nov. 5, 1998, now U.S. Pat. No. 6,226,418. This continuation-in-part claims priority to U.S. patent application Ser. No. 09/186,359 and incorporates the same by reference herein. This continuation-in-part also claims priority to U.S. provisional application 60/155,141 filed Sep. 22, 1999 (now expired) and incorporates the same by reference herein.

GOVERNMENT RIGHTS

This work was supported in part by the following U.S. Government grants: NIH grants RR01380 and R01-MH52138-01A1; ARO grant DAAL-03-86-K-0110; and NSF grant BIR-9424 264. The U.S. Government may have certain rights in the invention.

TECHNICAL FIELD

The present invention relates to image processing systems and methods, and more particularly to image registration systems that combine two or more images into a composite image; in particular the fusion of anatomical manifold-based knowledge with volume imagery via large deformation mapping which supports both kinds of information simultaneously, as well as individually, and which can be implemented on a rapid convolution FFT based computer system.

BACKGROUND ART

Image registration involves combining two or more images, or selected points from the images, to produce a composite image containing data from each of the registered images. During registration, a transformation is computed that maps related points among the combined images so that points defining the same structure in each of the combined images are correlated in the composite image.

Currently, practitioners follow two different registration techniques. The first requires that an individual with expertise in the structure of the object represented in the images label a set of landmarks in each of the images that are to be registered. For example, when registering two MRI images of different axial slices of a human head, a physician may label points, or a contour surrounding these points, corresponding to the cerebellum in two images. The two images are then registered by relying on a known relationship among the landmarks in the two brain images. The mathematics underlying this registration process is known as small deformation multi-target registration.

In the previous example of two brain images being registered, using a purely operator-driven approach, a set of N landmarks identified by the physician, represented by x_(i), where i=1 . . . N, are defined within the two brain coordinate systems. A mapping relationship, mapping the N points selected in one image to the corresponding N points in the other image, is defined by the equation u(x_(i))=k_(i), where i=1 . . . N. Each of the coefficients, k_(i), is assumed known.

The mapping relationship u(x) is extended from the set of N landmark points to the continuum using a linear quadratic form regularization optimization of the equation: $\begin{matrix} {u = {\arg \quad {\min\limits_{u}\quad {\int{{Lu}}^{2}}}}} & (1) \end{matrix}$

subject to the boundary constraints u(x_(i))=k_(i′). The operator L is a linear differential operator. This linear optimization problem has a closed form solution. Selecting L=α∇²+β∇(∇·) gives rise to small deformation elasticity.

For a description of small deformation elasticity see S. Timoshenko, Theory of Elasticity, McGraw-Hill, 1934 (hereinafter referred to as Timoshenko) and R. L. Bisplinghoff, J. W. Marr, and T. H. H. Pian, Statistics of Deformable Solids, Dover Publications, Inc., 1965 (hereinafter referred to as Bisplinghoff). Selecting L=∇² gives rise to a membrane or Laplacian model. Others have used this operator in their work, see e.g., Amit, U. Grenander, and M. Piccioni, “Structural image restoration through deformable templates,” J. American Statistical Association. 86(414):376-387, June 1991, (hereinafter referred to as Amit) and R. Szeliski, Bayesian Modeling of Uncertainty in Low-Level Vision, Kluwer Academic Publisher, Boston, 1989 (hereinafter referred to as Szeliski) (also describing a bi-harmonic approach). Selecting L=∇⁴ gives a spline or biharmonic registration method. For examples of applications using this operator see Grace Wahba, “Spline Models for Observational Data,” Regional Conference Series in Applied Mathematics. SIAM, 1990, (hereinafter referred to as Whaba) and F. L. Bookstein, The Measurement of Biological Shape and Shape Change, volume 24, Springer-Verlag: Lecture Notes in Biomathematics, New York, 1978 (hereinafter referred to as Bookstein).

The second currently-practiced technique for image registration uses the mathematics of small deformation multi-target registration and is purely image data driven. Here, volume based imagery is generated of the two targets from which a coordinate system transformation is constructed. Using this approach, a distance measure, represented by the expression D(u), represents the distance between a template T(x) and a target image S(x). The optimization equation guiding the registration of the two images using a distance measure is: $\begin{matrix} {u = {{\arg \quad {\min\limits_{u}\quad {\int{{Lu}}^{2}}}} + {D(u)}}} & (2) \end{matrix}$

The distance measure D(u) measuring the disparity between imagery has various forms, e.g., the Gaussian squared error distance ∫|T(h(x))−S(x)|²dx, a correlation distance, or a Kullback Liebler distance. Registration of the two images requires finding a mapping that minimizes this distance.

Other fusion approaches involve small deformation mapping coordinates x ε Ω of one set of imagery to a second set of imagery. Other techniques include the mapping of predefined landmarks and imagery, both taken separately such as in the work of Bookstein, or fused as covered via the approach developed by Miller-Joshi-Christensen-Grenander the '212 patent described in U.S. Pat. No. 6,009,212 (hereinafter “the '212 patent”) herein incorporated by reference mapping coordinates x ε Ω of one target to a second target. The existing state of the art for small deformation matching can be stated as follows:

Small Deformation Matching: Construct h(x)=x−u(x) according to the minimization of the distance D(u) between the template and target imagery subject to the smoothness penalty defined by the linear differential operator L: $\begin{matrix} {{h( \cdot )} = {{{\cdot {- {u( \cdot )}}}\quad {where}\quad \hat{u}} = {{\arg \quad {\min\limits_{u}\quad {\int{{Lu}}^{2}}}} + {\sum\limits_{i = 1}^{N}{{D(u)}.}}}}} & (3) \end{matrix}$

The distance measure changes depending upon whether landmarks or imagery are being matched.

1. Landmarks alone. The first approach is purely operator driven in which a set of point landmarks x_(i), i=1, . . . N are defined within the two brain coordinate systems by, for example, an anatomical expert, or automated system from which the mapping is assumed known: u(x_(i))=k_(i), i=1, . . . , N. The field u(x) specifying the mapping h is extended from the set of points {x_(i)} identified in the target to the points {y_(i)} measured with Gaussian error co-variances Σ_(i): $\begin{matrix} {\hat{u} = {{\arg \quad {\min\limits_{u}\quad {\int{{Lu}}^{2}}}} + {\sum\limits_{i = 1}^{N}{\left( {y_{i} - x_{i} - {u\left( x_{i} \right)}} \right)^{t}{\Sigma^{- 1}\left( {y_{i} - x_{i} - {u\left( x_{i} \right)}} \right)}^{T}}}}} & (4) \end{matrix}$

Here (·)^(τ) denotes transpose of the 3×1 real vectors, and L is a linear differential operator giving rise to small deformation elasticity (see Timoshenko and Bisplinghoff), the membrane of Laplacian model (see Amit and Szeliski), bi-harmonic (see Szeliski), and many of the spline methods (see Wahba and Bookstein). This is a linear optimization problem with closed form solution.

2. The second approach is purely volume image data driven, in which the volume based imagery is generated of the two targets from which the coordinate system transformation is constructed. A distance measure between the two images being registered I₀, I₁ is defined as D(u)=∫|I₀(x−u(x))−I₁(x)|²dx. The corresponding optimization is: $\begin{matrix} {{{h( \cdot )} = {{\cdot {- {u( \cdot )}}}\quad {where}}}\quad {u = {{\arg \quad {\min\limits_{u}\quad {\int{{Lu}}^{2}}}} + {\int{{{{I_{0}\left( {x - {u(x)}} \right)} - {I_{1}(x)}}}^{2}{{x}.}}}}}} & (5) \end{matrix}$

The data function D(u) measures the disparity between imagery and has various forms. Other distances are used besides the Gaussian squared error distance, including correlation distance, Kullback Liebler distance, and others.

3. The algorithm for the transformation of imagery I₀ into imagery I₁ has landmark and volume imagery fused in the small deformation setting as in the '212 patent. Both sources of information are combined into the small deformation registration: $\begin{matrix} {u = {{\arg \quad {\min\limits_{u}\quad {\int{{Lu}}^{2}}}} + {D(u)} + {\sum\limits_{i = 1}^{N}\frac{{{y_{i} - x_{i} - {u\left( x_{i} \right)}}}^{2}}{\sigma \quad \underset{1}{2}}}}} & (6) \end{matrix}$

Although small deformation methods provide geometrically meaningful deformations under conditions where the imagery being matched are small, linear, or affine changes from one image to the other. Small deformation mapping does not allow the automatic calculation of tangents, curvature, surface areas, and geometric properties of the imagery. To illustrate the mapping problem FIG. 9 shows an oval template image with several landmarks highlighted. FIG. 10 shows a target image that is greatly deformed from the template image. The target image is a largely deformed oval that has been twisted. FIG. 11 shows the results of image matching when the four corners are fixed, using small deformation methods based on static quadratic form regularization. These figures illustrate the distortion which occurs with small deformation linear mapping when used with landmark points which define a motion corresponding to large deformation. As can be seen in FIG. 11, landmarks defined in the template image often map to more than one corresponding point in the target image.

Large deformation mapping produces maps for image registration in which the goal is to find the one-to-one, onto, invertible, differentiable maps h (henceforth termed diffeomorphisms) from the coordinates x ε Ω of one target to a second target under the mapping

h:x→h(x)=x−u(x),xεΩ  (7)

To accommodate very fine variations in anatomy the diffeomorphic transformations constructed are of high dimensions having, for example a dimension greater than 12 of the Affine transform up-to the order of the number of voxels in the volume. A transformation is diffeomorphic if the transformation from the template to the target is one-to-one, onto, invertible, and both the transformation and it's inverse are differentiable. A transformation is said to be one-to-one if no two distinct points in the template are mapped to the same point in the target. A transformation is said to be onto if every point in the target is mapped from a point in the template. The importance of generating diffeomorphisms is that tangents, curvature, surface areas, and geometric properties of the imagery can be calculated automatically. FIG. 12 illustrates the image mapping illustrated in FIG. 11 using diffeomorphic transformation.

SUMMARY OF THE INVENTION

The present invention overcomes the limitations of the conventional techniques of image registration by providing a methodology which combines, or fuses, some aspects of techniques where an individual with expertise in the structure of the object represented in the images labels a set of landmarks in each image that are to be registered and techniques that use mathematics of small deformation multi-target registration, which is purely image data driven.

Additional features and advantages of the invention will be set forth in the description which follows, and in part, will be apparent from the description, or may be learned by practicing the invention. The embodiments and other advantages of the invention will be realized and obtained by the method and apparatus particularly pointed out in the written description and the claims hereof as well as in the appended drawings.

To achieve these and other advantages and in accordance with the purpose of the invention, as embodied and broadly described, an embodiment consistent with the present invention registers a template and a target image by defining a manifold landmark point in the template image, identifying a point in said target image corresponding to the defined manifold landmark point, and selecting a coordinate frame suitable for spherical geometries. According to an embodiment of the present invention, a large deformation transform is computed using the selected coordinate frame, a manifold landmark transformation operator, and at least one manifold landmark transformation boundary value. The large deformation transform relates the manifold landmark point in the template image to the corresponding point in the target image. The template and target image are registered using the large deformation transform in the selected coordinate frame. Another embodiment consistent with the present invention registers a template image with a target image by selecting a coordinate frame suitable for spherical geometries and registering the target and template image using a large deformation transform in the selected coordinate frame.

Both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings provide a further understanding of the invention. They illustrate embodiments of the invention and, together with the description, explain the principles of the invention.

FIG. 1 is a target and template image of an axial section of a human head with 0-dimensional manifolds;

FIG. 2 is schematic diagram illustrating an apparatus for registering images in accordance with the present invention;

FIG. 3 is a flow diagram illustrating the method of image registration according to the present invention;

FIG. 4 is a target and a template image with 1-dimensional manifolds;

FIG. 5 is a target and a template image with 2-dimensional manifolds;

FIG. 6 is a target and a template image with 3-dimensional manifolds;

FIG. 7 is sequence of images illustrating registration of a template and target image; and

FIG. 8 is a flow diagram illustrating the computation of a fusing transform;

FIG. 9 is an oval template image which has landmark points selected and highlighted;

FIG. 10 is a deformed and distorted oval target image with corresponding landmark points highlighted and selected;

FIG. 11 is an image matching of the oval target and template images; and

FIG. 12 is an image matching using diffeomorphism.

DETAILED DESCRIPTION OF THE INVENTION

1. Method for Image Registration Using Both Landmark Based knowledge and Image Data

A method and system is disclosed which registers images using both landmark based knowledge and image data. Reference will now be made in detail to the present preferred embodiment of the invention, examples of which are illustrated in the accompanying drawings.

To illustrate the principles of this invention, FIG. 1 shows two axial views of a human head. In this example, template image 100 contains points 102, 104, and 114 identifying structural points (0-dimensional landmark manifolds) of interest in the template image. Target image 120 contains points 108, 110, 116, corresponding respectively to template image points 102, 104, 114, via vectors 106, 112, 118, respectively.

FIG. 2 shows apparatus to carry out the preferred embodiment of this invention. A medical imaging scanner 214 obtains the images show in FIG. 1 and stores them on a computer memory 206 which is connected to a computer central processing unit (CPU) 204. One of ordinary skill in the art will recognize that a parallel computer platform having multiple CPUs is also a suitable hardware platform for the present invention, including, but not limited to, massively parallel machines and workstations with multiple processors. Computer memory 206 can be directly connected to CPU 204, or this memory can be remotely connected through a communications network.

Registering images 100, 120 according to the present invention, unifies registration based on landmark deformations and image data transformation using a coarse-to-fine approach. In this approach, the highest dimensional transformation required during registration is computed from the solution of a sequence of lower dimensional problems driven by successive refinements. The method is based on information either provided by an operator, stored as defaults, or determined automatically about the various substructures of the template and the target, and varying degrees of knowledge about these substructures derived from anatomical imagery, acquired from modalities like CT, MRI, functional MRI, PET, ultrasound, SPECT, MEG, EEG, or cryosection.

Following this hierarchical approach, an operator, using pointing device 208, moves cursor 210 to select points 102, 104, 114 in FIG. 1, which are then displayed on a computer monitor 202 along with images 100, 120. Selected image points 102, 104, and 114 are 0-dimensional manifold landmarks.

Once the operator selects manifold landmark points 102, 104, and 114 in template image 100, the operator identifies the corresponding template image points 108, 110, 116.

Once manifold landmark selection is complete, CPU 204 computes a first transform relating the manifold landmark points in template image 100 to their corresponding image points in target image 120. Next, a second CPU 204 transform is computed by fusing the first transform relating selected manifold landmark points with a distance measure relating all image points in both template image 100 and target image 120. The operator can select an equation for the distance measure several ways including, but not limited to, selecting an equation from a list using pointing device 208, entering into CPU 204 an equation using keyboard 212, or reading a default equation from memory 206. Registration is completed by CPU 204 applying the second computed transform to all points in the template image 100.

Although several of the registration steps are described as selections made by an operator, implementation of the present invention is not limited to manual selection. For example, the transforms, boundary values, region of interest, and distance measure can be defaults read from memory or determined automatically.

FIG. 3 illustrates the method of this invention in operation. First an operator defines a set of N manifold landmark points x_(i,) where i=1, . . . , N, represented by the variable M, in the template image (step 300). These points should correspond to points that are easy to identify in the target image.

Associated with each landmark point, x_(i), in the template image, is a corresponding point y_(i) in the target image. The operator therefore next identifies the corresponding points, y_(i), in the target image are identified (step 310). The nature of this process means that the corresponding points can only be identified within some degree of accuracy. This mapping between the template and target points can be specified with a resolution having a Gaussian error of variance σ².

If a transformation operator has not been designated, the operator can choose a manifold landmark transformation operator, L, for this transformation computation. In this embodiment, the Laplacian $\left( {\nabla{= {\frac{\partial^{2}}{\partial x_{1}^{2}} + \frac{\partial^{2}}{\partial x_{2}^{2}} + \frac{\partial_{x}}{\partial x_{3}^{2}}}}} \right)$

is used for the operator L. Similarly, the operator can also select boundary values for the calculation corresponding to assumed boundary conditions, if these values have not been automatically determined or stored as default values. Here, infinite boundary conditions are assumed, producing the following equation for K, where K(x,x_(i)) is the Green's function of a volume landmark transformation operator L² (assuming L is self-adjoint): $\begin{matrix} {{K\left( {x,x_{i}} \right)} = \begin{bmatrix} {{x - x_{i}}} & 0 & 0 \\ 0 & {{x - x_{i}}} & 0 \\ 0 & 0 & {{x - x_{i}}} \end{bmatrix}} & (8) \end{matrix}$

Using circulant boundary conditions instead of infinite boundary conditions provides and embodiment suitable for rapid computation. One of ordinary skill in the art will recognize that other operators can be used in place of the Laplacian operator, such operators include, but are not limited to, the biharmonic operator, linear elasticity operator, and other powers of these operators.

In addition, the operator may select a region of interest in the target image. Restricting the computation to a relatively small region of interest reduces both computation and storage requirements because transformation is computed only over a subregion of interest. It is also possible that in some applications the entire image is the desired region of interest. In other applications, there may be default regions of interest that are automatically identified.

The number of computations required is proportional to the number of points in the region of interest, so the computational savings equals the ratio of the total number of points in the image to the number of points in the region of interest. The data storage savings for an image with N points with a region of interest having M points is a factor of N/M. For example, for a volume image of 256×256×256 points with a region of interest of 128×128×128 points, the computation time and the data storage are reduced by a factor of eight.

In addition, performing the computation only over the region of interest makes it necessary only to store a subregion, providing a data storage savings for the template image, the target image, and the transform values.

Following the identification of template manifold landmark points and corresponding points in the target image, as well as selection of the manifold transformation operator, the boundary values, and the region of interest, CPU 204 computes a transform that embodies the mapping relationship between these two sets of points (step 350). This transform can be estimated using Bayesian optimization, using the following equation: $\begin{matrix} {{\hat{u} = {{\arg \quad {\min\limits_{u}\quad {\int_{\Omega}{{Lu}}^{2}}}} + {\sum\limits_{i = 1}^{N}\frac{{{y_{i} - x_{i} + {u\left( x_{i} \right)}}}^{2}}{\sigma_{i}^{2}}}}},} & (9) \end{matrix}$

the minimizer, u, having the form $\begin{matrix} {{\hat{u}(x)} = {b + {A\quad x} + {\sum\limits_{i = 1}^{N}{\beta_{i}{K\left( {x,x_{i}} \right)}}}}} & (10) \end{matrix}$

where A is a 3×3 matrix, b=[b₁, b₂, b₃] is a 3×1 vector, [β_(i1),β_(i2),β_(i3)] is a 3×1 weighting vector.

The foregoing steps of the image registration method provide a coarse matching of a template and a target image. Fine matching of the images requires using the full image data and the landmark information and involves selecting a distance measure by solving a synthesis equation that simultaneously maps selected image landmarks in the template and target images and matches all image points within a region of interest. An example of this synthesis equation is: $\begin{matrix} {\hat{u} = {{\arg \quad {\min\limits_{u}\quad {\gamma {\int_{\Omega}{{{{T\left( {x - {u(x)}} \right)} - {S(x)}}}^{2}{x}}}}}} + {\int_{\Omega}{{L\quad u}}^{2}} + {\sum\limits_{i = 1}^{N}\frac{{{y_{i} - x_{i} + {u\left( x_{i} \right)}}}^{2}}{\sigma_{i}^{2}}}}} & (11) \end{matrix}$

here the displacement field u is constrained to have the form $\begin{matrix} {{u(x)} = {{\sum\limits_{k = 0}^{d}{\mu_{k}{\phi_{k}(x)}}} + {\sum\limits_{i = 1}^{N}{\beta_{i}{K\left( {x,x_{i}} \right)}}} + {A\quad x} + b}} & (12) \end{matrix}$

with the variables β_(i), A, and b, computed at step 350 in FIG. 3. The operator L in equation (11) may be the same operator used in equation (9), or alternatively, another operator may be used with a different set of boundary conditions. The basis functions φ are the eigen functions of operators such as the Laplacian Lu=∇²u, the bi-harmonic Lu=∇⁴u, linear elasticity Lu=α∇²u+(α+β)∇(∇.u), and powers of these operators L^(p) for p≧1.

One of ordinary skill in the art will recognize that there are many possible forms of the synthesis equation. For example, in the synthesis equation presented above, the distance measure in the first term measures the relative position of points in the target image with respect to points in the template image. Although this synthesis equation uses a quadratic distance measure, one of ordinary skill in the art will recognize that there are other suitable distance measures.

CPU 204 then computes a second or fusing transformation (Step 370) using the synthesis equation relating all points within a region of interest in the target image to all corresponding points in the template image. The synthesis equation is defined so that the resulting transform incorporates, or fuses, the mapping of manifold landmarks to corresponding target image points determined when calculating the first transform.

The computation using the synthesis equation is accomplished by solving a sequence of optimization problems from coarse to fine scale via estimation of the basis coefficients μ_(k). This is analogous to multi-grid methods, but here the notion of refinement from coarse to fine is accomplished by increasing the number of basis components d. As the number of basis functions increases, smaller and smaller variabilities between the template and target are accommodated. The basis coefficients are determined by gradient descent, i.e., $\begin{matrix} {{\mu_{k}^{({n + 1})} = {\mu_{k}^{(n)} - {\Delta \quad \frac{\partial{H\left( u^{(n)} \middle| S \right)}}{\partial\mu_{k}}}}}{where}} & (13) \\ {{\frac{\partial{H\left( u^{(n)} \right)}}{\partial\mu_{k}} = {{{- \gamma}{\int_{\Omega}{\left( {{T\left( {x - {u^{(n)}(x)}} \right)} - {S(x)}} \right){{\nabla{T\left( {x - {u^{(n)}(x)}} \right)}} \cdot {\phi_{k}(x)}}{x}}}} + {\lambda_{k}^{2}\mu_{k}^{(n)}} + {\left( {2{\sum\limits_{i = 1}^{N}\frac{y_{i} - x_{i} + {u^{(n)}\left( x_{i} \right)}}{\sigma_{i}^{2}}}} \right) \cdot {\phi_{k}\left( x_{i} \right)}}}}{and}} & (14) \\ {{u^{(n)}(x)} = {{\sum\limits_{k = 0}^{d}{\mu_{k}^{(n)}{\phi_{k}(x)}}} + {\sum\limits_{i = 1}^{N}{\beta_{i}{K\left( {x,x_{i}} \right)}}} + {A\quad x} + b}} & (15) \end{matrix}$

also ∇ is a fixed step size and λ_(k) are the eigenvalues of the eigenvectors φ_(k).

The computation of the fusion transformation (step 370) using the synthesis equation is presented in the flow chart of FIG. 8. Equation (12) is used to initialize the value of the displacement field u(x)=u⁽⁰⁾(x) (step 800). The basis coefficients μ_(k)=μ_(k) ⁽⁰⁾ are set equal to zero and the variables β_(i), A, and b are set equal to the solution of equation (11) (step 802). Equation (13) is then used to estimate the new values of the basis coefficients μ_(k) ^((n+1)) given the current estimate of the displacement field u^((n)) (x) (step 804). Equation (15) is then used to compute the new estimate of the displacement field u^((n)) (x) given the current estimate of the basis coefficients μ_(k) ^((n)) (step 806). The next part of the computation is to decide whether or not to increase the number d of basis functions φ_(k) used to represent the transformation (step 808). Increasing the number of basis functions allows more deformation. Normally, the algorithm is started with a small number of basis functions corresponding to low frequency eigen functions and then on defined iterations the number of frequencies is increased by one (step 810). This coarse-to-fine strategy matches larger structures before smaller structures. The preceding computations (steps 804-810) are repeated until the computation has converged or the maximum number of iterations is reached (step 812). The final displacement field is then used to transform the template image (step 814).

Once CPU 204 determines the transform from the synthesis equation fusing both landmark manifold information and image data, CPU 204 uses this transform to register the template image with the target image (step 380).

The spectrum of the second transformation, h, is highly concentrated around zero. This means that the spectrum mostly contains low frequency components. Using the sampling theorem, the transformation can be represented by a subsampled version provided that the sampling frequency is greater than the Nyquist frequency of the transformation. The computation may be accelerated by computing the transformation on a coarse grid and extending it to the full voxel lattice e.g., in the case of 3D images, by interpolation. The computational complexity of the algorithm is proportional to the dimension of the lattice on which the transformation is computed. Therefore, the computation acceleration equals the ratio of the full voxel lattice to the coarse computational lattice.

One of ordinary skill in the art will recognize that composing the landmark transformations followed by the elastic basis transformations, thereby applying the fusion methodology in sequence can provide an alternatively valid approach to hierarchial synthesis of landmark and image information in the segmentation.

Another way to increase the efficiency of the algorithm is to precompute the Green's functions and eigen functions of the operator L and store these precomputed values in a lookup table. These tables replace the computation of these functions at each iteration with a table lookup. This approach exploits the symmetry of Green's functions and eigen functions of the operator L so that very little computer memory is required. In the case of the Green's functions, the radial symmetry is exploited by precomputing the Green's function only along a radial direction.

The method described for fusing landmark information with the image data transformation can be extended from landmarks that are individual points (0-dimensional manifolds) to manifolds of dimensions 1, 2 and 3 corresponding to curves (1-dimensional), surfaces (2-dimensional) and subvolumes (3-dimensional).

For example, FIG. 4 shows a template image 400 of a section of a brain with 1-dimensional manifolds 402 and 404 corresponding to target image 406 1-dimensional manifolds 408 and 410 respectively. FIG. 5 shows a template image 500 of a section of a brain with 2-dimensional manifold 502 corresponding to target image 504 2-dimensional manifold 506. FIG. 6 shows a template image 600 of a section of a brain with 3-dimensional manifold 602 corresponding to target image 604 3-dimensional manifold 606.

As with the point landmarks, these higher dimensional manifolds condition the transformation, that is we assume that the vector field mapping the manifolds in the template to the data is given. Under this assumption the manually-assisted deformation (step 350, FIG. 3) becomes the equality-constrained Bayesian optimization problem: $\begin{matrix} {{u(x)} = {\arg \quad {\min\limits_{u}{\int_{\Omega}{{{L\quad {u(x)}}}^{2}{x}\quad {subject}\quad {to}}}}}} & (16) \\ {{{u(x)} = {k(x)}},\quad {x \in {\bigcup\limits_{i = 0}^{3}{{M(i)}.}}}} & (17) \end{matrix}$

If M(i) is a smooth manifold for i=0, 1, 2, 3, the solution to this minimization is unique satisfying L^(†)Lû(x)=0, for all template points in the selected manifold. This implies that the solution can be written in the form of a Fredholm integral equation: $\begin{matrix} {{{\hat{u}(x)} = {\int_{\bigcup\limits_{i = 0}^{3}{M{(i)}}}{{K\left( {x,y} \right)}\beta \quad (y){{S(y)}}}}},\quad {{{where}\quad K} = {G\quad G^{\dagger}}}} & (18) \end{matrix}$

and G the Green's function of L.

When the manifold is a sub-volume, M(3),dS is the Lebesgue measure on R³. For 2-dimensional surfaces, dS is the surface measure on M(2), For 1-dimensional manifolds (curves), dS is the line measure on M(1) and for point landmarks, M(0), dS is the atomic measure. For point landmarks, the Fredholm integral equation degenerates into a summation given by equation (10).

When the manifold of interest is a smooth, 2-dimensional surface, the solution satisfies the classical Dirichlet boundary value problem:

L ^(†) Lû(x)=0,∀xεΩ\M   (19)

The Dirichlet problem is solved using the method of successive over relaxation as follows. If u^(k)(x) is the estimate of a deformation field at the k^(th) iteration, the estimate at the (k+1)^(th) iteration is given by the following update equation:

u ^(k+1)(x)=u ^(k)(x)+αL, ^(†) Lu(x),xεΩ\M.

u ^(k+1)(x)=k(x),xεM,   (20)

where α is the over relaxation factor.

It is also possible to compute the transform (step 370) with rapid convergence by solving a series of linear minimization problems where the solution to the series of linear problems converges to the solution of the nonlinear problem. This avoids needing to solve the nonlinear minimization problem directly. Using a conjugate gradient method, the computation converges faster than a direct solution of the synthesis equation because the basis coefficients μ_(k) are updated with optimal step sizes.

Using the conjugate gradient, the displacement field is assumed to have the form $\begin{matrix} {{u(x)} = {{\sum\limits_{k = 0}^{d}{\mu_{k}{\phi_{k}(x)}}} + {{f(x)}\quad {where}}}} & (21) \\ {{f(x)} = {{\sum\limits_{i = 1}^{N}{\beta_{i}{K\left( {x,x_{i}} \right)}}} + {A\quad x} + {b.}}} & (22) \end{matrix}$

Begin by assuming that f(x) is fixed. This is generalized below. The eigen functions in the expansion are all real and follow the assumption that {φ_(i)(x)} are R³ valued.

The minimization problem is solved by computing

μ_(j) ^(new)=μ_(j) ^(old)+Δ_(j) j=0 . . . d   (23)

to update the basis coefficients in equation (21) where μ_(j)=0,j=0 . . . d initially, Δ_(j) is computed using the equation $\begin{matrix} {{\Delta \quad j} = {\left( {{\int_{\Omega}{\left( {\sum\limits_{k = 0}^{d}{h_{k}(x)}} \right){h_{j}(x)}{x}}} + \lambda_{j}^{2} + {\frac{1}{\sigma^{2}}{\sum\limits_{i = 1}^{N}{\theta_{jj}\left( x_{i} \right)}}}} \right)^{- 1}{\left( {{\int_{\Omega}{\left( {{T\left( {x - {u(x)}} \right)} - {S(x)}} \right){h_{j}(x)}{x}}} + {\sum\limits_{i = 1}^{N}\beta_{i}} - {\phi_{j}\left( x_{i} \right)} + {\frac{1}{\sigma^{2}}{\sum\limits_{i = 1}^{N}{\left( {y_{i} - x_{i} + {u\left( x_{i} \right)}} \right) \cdot {\phi_{j}\left( x_{i} \right)}}}} + {\frac{1}{\sigma^{2}}{\sum\limits_{k = 0}^{j - 1}{\Delta \quad k{\sum\limits_{i = N}^{N}{\theta_{kj}\left( x_{i} \right)}}}}}} \right).}}} & (24) \end{matrix}$

where h_(i)(x)=∇T|_(x−u(x))·φ_(i)(x), and where θ_(ij)(x)=φ_(j)(x)·φ_(j)(x). The notation f·g is the inner-product, i.e., ${{f \cdot g} = {\sum\limits_{i = 1}^{3}{f_{i}g_{i}\quad {for}\quad f}}},{g \in {R^{3}.}}$

Similarly, since u(x) is written in the series expansion given in equations (21) and (22), the identical formulation for updating β_(i) arises. Accordingly, the fusion achieved by the present invention results. Computation of equation (23) repeats until all Δ_(j) fall below a predetermined threshold solving for each Δ_(j) in sequence of increasing j, and Δ_(j) is computed using the values of Δ_(k) for 0≦k<j.

A further improvement over prior art image registration methods is achieved by computing the required transforms using fast Fourier transforms (FFT). Implementing an FFT based computation for image registration using a synthesis equation, as required at step 370 of FIG. 3, provides computational efficiency. However, to exploit the known computational efficiencies of FFT transforms, the solution of the synthesis equation must be recast to transform the inner products required by iterative algorithms into shift invariant convolutions.

To make the inner-products required by the iterative algorithms into shift invariant convolution, differential and difference operators are defined on a periodic version of the unit cube and the discrete lattice cube. Thus, the operators are made cyclo-stationary, implying their eigen functions are always of the form of complex exponentials on these cubes having the value: $\begin{matrix} {\Psi_{k}^{(r)} = {\begin{bmatrix} c_{1k}^{(r)} \\ c_{2k}^{(r)} \\ c_{3k}^{(r)} \end{bmatrix}{^{j{\langle{\omega_{k},x}\rangle}}.}}} & (25) \end{matrix}$

r=1, 2, 3 with x=(x₁,x₂,x₃)ε[0, 1]³,

ω_(ki)=2πk_(i), i=1, 2, 3, and the Fourier basis for periodic functions on [0, 1]³ takes the form $\begin{matrix} {{^{j{\langle{\omega_{k},x}\rangle}},{{\omega_{k}x} = {{{\omega_{k_{1}}x_{1}} + {\omega_{k_{2}}x_{2}} + {\omega_{k_{3}}{x_{3}.\quad \omega_{k}}}} = \left( {\omega_{k_{1}},\omega_{k_{2}},\omega_{k_{3}}} \right)}}}{{{{On}\quad {the}\quad {discrete}\quad N^{3}} = {{periodic}\quad {lattice}}},{\omega_{k} = \left( {\frac{2\quad \pi \quad k_{1}}{N},\frac{2\quad \pi \quad k_{2}}{N},\frac{2\quad \pi \quad k_{3}}{N}} \right)},\quad {x \in {{\left\{ {0,{{1\quad \ldots \quad N} - 1}} \right\}^{3}.{For}}\quad {real}\quad {expansions}}},\quad {{the}\quad {eigen}\quad {vectors}\quad {becomes}}}{{\phi_{k}(x)} = {{\Psi_{k}(x)} + {\Psi_{k}^{*}(x)}}}\quad {{and}\quad {the}\quad {real}\quad {expansion}\quad {in}\quad {equation}\quad (21)\quad {becomes}\text{:}}} & \quad \\ {{{u(x)} = {\sum\limits_{k = 0}^{d}{\mu_{k}\left( {{\Psi_{k}(x)} + {\Psi_{k}^{*}(x)}} \right)}}}{{{{where}\quad}^{*}\quad {means}\quad {complex}\quad {conjugate}},\quad {{{and}\quad 0} < d \leq {\frac{N}{2}.}}}} & (26) \end{matrix}$

This reformulation supports an efficient implementation of the image registration process using the FFT. Specifically, if step 370 of FIG. 3, computing the registration transform fusing landmark and image data, is implemented using the conjugate gradient method, the computation will involve a series of inner products. Using the FFT exploits the structure of the eigen functions and the computational efficiency of the FFT to compute these inner-products.

For example, one form of a synthesis equation for executing Step 370 of FIG. 3 will include the following three terms: Term   1: ∫_(Ω)(T(x − u(x)) − S(x))  h_(j)(x)x Term   2: $\int_{\Omega}{\left( {\sum\limits_{k = 0}^{d}{h_{k}(x)}} \right){h_{j}(x)}{x}}$ Term   3: ${u(x)} = {\sum\limits_{k = 0}^{d}{\mu_{k}{\phi_{k}(x)}}}$

Each of theses terms must be recast in a suitable form for FFT computation. One example of a proper reformulation for each of these terms is:

Term 1: $\begin{matrix} {{{\int_{\Omega}{\left( {{T\left( {x - {u(x)}} \right)} - {S(x)}} \right)\quad {{\nabla T} \cdot \left( {{\Psi_{i}^{r}(x)} + {\Psi_{i}^{{(r)}*}(x)}} \right)}{x}}} = {2{{Re}\left( {\int_{\Omega}{\left( {{T\left( {x - {u(x)}} \right)} - {S(x)}} \right)\left( {\sum\limits_{r = 1}^{3}{{\nabla T} \cdot c_{k}^{(r)}}} \right)^{j{\langle{\omega_{k},x}\rangle}}{x}}} \right)}}},} & (27) \end{matrix}$

where c_(k) ^((r))=[c_(1k) ^((r)), c_(2k) ^((r)), c_(3k) ^((r))]^(t). This equation is computed for all k by a Fourier transformation of the function. $\begin{matrix} {\left( {{T\left( {x - {u(x)}} \right)} - {S(x)}} \right)\left( {\sum\limits_{r = 1}^{3}{{\nabla T} \cdot c_{k}^{(r)}}} \right)} & (28) \end{matrix}$

and hence can be computed efficiently using a 3-D FFT.

Term 2: $\begin{matrix} {{\sum\limits_{r = 1}^{3}{\sum\limits_{k = 0}^{d}{\int{\left( {\Psi_{j}^{(r)} + \Psi_{j}^{{(r)}*}} \right)^{t}\left( {\nabla{T\left( {\nabla T} \right)}^{t}} \right)\left( {\Psi_{j}^{(r)} + \Psi_{j}^{{(r)}*}} \right){x}}}}} = {2{{Re}\left( {\sum\limits_{r = 1}^{3}{\sum\limits_{k = 0}^{d}{\int{\left( c_{k}^{(r)} \right)^{t}\left( {\int_{\Omega}{\left( {\nabla{T\left( {\nabla T} \right)}^{t}} \right)^{\langle{{\omega_{k} \cdot \omega_{j}},x}\rangle}{x}}} \right)}}}} \right)}}} & (29) \end{matrix}$

The integral in the above summation for all k can be computed by Fourier transforming the elements of the 3×3 matrix:

∇T(∇T)^(t)   (30)

evaluated at ω_(k)+ω_(j.) Because this matrix has diagonal symmetry, the nine FFTs in this reformulation of term 2 can be computed efficiently using six three dimensional FFTs evaluated at ω_(k)+ω_(j.)

Term 3:

Using the exact form for the eigen functions we can rewrite the above equation as $\begin{matrix} {{u(x)} = {2\quad {Re}\quad {\left( {\sum\limits_{r = 1}^{3}{\sum\limits_{k = 0}^{d}{{\mu_{k}^{(r)}\begin{bmatrix} c_{1k}^{(r)} \\ c_{2k}^{(r)} \\ c_{3k}^{(r)} \end{bmatrix}}^{j{\langle{\omega_{k},x}\rangle}}}}} \right).}}} & (31) \end{matrix}$

This summation is precisely the inverse Fourier transforms of the functions ${{\sum\limits_{r = 1}^{3}{\mu_{k}^{(r)}c_{ik}^{(r)}\quad {for}\quad i}} = 1},2,3$

and hence can be computed efficiently by using a 3-D FFT.

One of ordinary skill in the art will recognize that restructuring the computation of registration transforms using FFTs will improve the performance of any image registration method having terms similar to those resulting from a synthesis equation fusing landmark and image data. Improvements results from the fact that many computer platforms compute FFTs efficiently; accordingly, reformulating the registration process as an FFT computation, makes the required computations feasible.

A distance function used to measure the disparity between images is the Gaussian square error distance ∫|T(x−u(x))−S(x)|²dx. There are many other forms of an appropriate distance measure. More generally, distance functions, such as the correlation distance, or the Kullback Liebler distance, can be written in the form

∫D(T(x−u(x)), S(x))dx.

An efficient convolution implementation can be derived using the FFT for arbitrary distance functions. Computing the fusing transform using the image data follows the equation: $\begin{matrix} {\hat{u} = {{\arg \quad {\min\limits_{u}\quad {\gamma {\int_{\Omega}{{D\left( {{T\left( {x - {u(x)}} \right)},{S(x)}} \right)}{x}}}}}} + {\int_{\Omega}{{Lu}}^{2}} + {\sum\limits_{i = 1}^{N}\frac{{{y_{i} - x_{i} + {u\left( x_{i} \right)}}}^{2}}{\sigma_{i}^{2}}}}} & (32) \end{matrix}$

where D(.,.) is a distance function relating points in the template and target images. The displacement field is assumed to have the form: $\begin{matrix} {{u(x)} = {{\sum\limits_{k = 0}^{d}{\mu_{k}{\phi_{k}(x)}}} + {{f(x)}\quad {where}}}} & (33) \\ {{f(x)} = {b + {A\quad x} + {\sum\limits_{i = 1}^{N}{\beta_{i}{K\left( {x,x_{i}} \right)}}}}} & (34) \end{matrix}$

is fixed. The basis coefficients {μ_(k)} are determined by gradient descent, i.e., $\begin{matrix} {\mu_{k}^{({n + 1})} = {\mu_{k}^{(n)} - {\Delta \quad \frac{\partial{H\left( u^{(n)} \middle| S \right)}}{\partial\mu_{k}}}}} & (35) \end{matrix}$

where the gradient is computed using the chain rule and is given by the equation $\begin{matrix} {\frac{\partial{H\left( u^{(n)} \right)}}{\partial\mu_{k}} = {{\int_{\Omega}{{D^{\prime}\left( {{T\left( {x - {u^{(n)}(x)}} \right)},{S(x)}} \right)}{{\nabla{T\left( {x - {u^{(n)}(x)}} \right)}} \cdot {\phi_{k}(x)}}{x}}} + {\lambda_{k}^{2}\mu_{k}^{(n)}} + {\left( {2{\sum\limits_{i = 1}^{N}\frac{y_{i} - x_{i} + {u^{(n)}\left( x_{i} \right)}}{\sigma_{i}^{2}}}} \right) \cdot {\phi_{k}(x)}}}} & (36) \end{matrix}$

where D′ (.,.) is the derivative with respect to the first argument. The most computationally intensive aspect of the algorithm is the computation of the term ∫_(Ω)D^(′)(T(x − u^((n))(x)), S(x))∇T(x − u^((n))(x)) ⋅ ϕ_(k)(x)x

Using the structure of the eigen functions and the computational efficiency of the FFT to compute these inner-products, the above term can be written as $2{Re}{\int_{\Omega}{{D^{\prime}\left( {{T\left( {x - {u^{(n)}(x)}} \right)},{S(x)}} \right)}\quad \left( {\sum\limits_{r = 1}^{3}{{\nabla T} \cdot c_{k}^{(r)}}} \right)^{j{\langle{\omega_{k},x}\rangle}}{x}}}$

where

c_(k) ^((r))=[c_(1k) ^((r)), c_(2k) ^((r)), c_(3k) ^((r))]^(t). This equation is computed for all k by a Fourier transformation of the function ${D^{\prime}\left( {{T\left( {x - {u^{(n)}(x)}} \right)},{S(x)}} \right)}\quad \left( {\sum\limits_{r = 1}^{3}{{\nabla T} \cdot c_{k}^{(r)}}} \right)$

and hence can be computed efficiently using a 3-D FFT.

The following example illustrates the computational efficiencies achieved using FFTs for image registration instead of direct computation of inner-products. Assuming that a target image is discretized on a lattice having N³ points, each of the inner-products in the algorithm, if computed directly, would have a computational complexity of the order (N³)². Because the inner-products are computationally intensive, the overall complexity of image registration is also (N³)². In contrast, each of the FFTs proposed has a computational complexity on the order of N³log₂ N³. The speed up is given by the ratio N⁶/(N³log₂ N³)=N³/(3 log₂ N). Thus the speed up is 64 times for a 16×16×16 volume and greater than 3.2×10⁴ speed up for a 256×256×256 volume.

A further factor of two savings in computation time can be gained by exploiting the fact that all of the FFTs are real. Hence all of the FFTs can be computed with corresponding complex FFTs of half the number of points. For a development of the mathematics of FFTs see, A. V. Oppenheim and R. W. Schafer, Digital Signal Processing, Prentice-Hall, New Jersey, 1975 (hereinafter referred to as Oppenheim).

Alternative embodiments of the registration method described can be achieved by changing the boundary conditions of the operator. In the disclosed embodiment, the minimization problem is formulated with cyclic boundary conditions. One of ordinary skill in the art will recognize that alternative boundary conditions, such as the Dirichlet, Neumann, or mixed Dirichlet and Neumann boundary conditions are also suitable. The following equation is used in an embodiment of the present invention using one set of mixed Dirichlet and Neumann boundary conditions: $\begin{matrix} {{{\left( {{\frac{\partial u_{t}}{\partial x_{t}}}} \right)_{({{x|x_{i}} = k})} = {{u_{i}\left( {\left. x \middle| x_{j} \right. = k} \right)} = {0\quad {for}\quad i}}},{j = 1},2,{3;\quad {i \neq j};\quad {k = 0}},{1\text{:}}}} & (37) \end{matrix}$

where the notation (x|x_(i)=k) means x is in the template image such that x_(i)=k. In this case, the eigen functions would be of the form: $\begin{matrix} {{\phi_{k}^{(r)} = {{\begin{bmatrix} {C_{1k}^{(r)}\cos \quad \omega_{k1}x_{1}\sin \quad \omega_{k2}\sin \quad \omega_{k3}x_{3}} \\ {C_{2k}^{(r)}\sin \quad \omega_{k1}x_{1}\cos \quad \omega_{k2}\sin \quad \omega_{k3}x_{3}} \\ {C_{3k}^{(r)}\sin \quad \omega_{k1}x_{1}\sin \quad \omega_{k2}\cos \quad \omega_{k3}x_{3}} \end{bmatrix}\quad {for}\quad r} = 1}},2,3.} & (38) \end{matrix}$

Modifying boundary conditions requires modifying the butterflies of the FFT from complex exponentials to appropriate sines and cosines.

In FIG. 7, four images, template image 700, image 704, image 706, and target image 708, illustrate the sequence of registering a template image and a target image. Template image 700 has 0-dimensional landmark manifolds 702. Applying the landmark manifold transform computed at step 350 in FIG. 3 to image 700 produces image 704. Applying a second transform computed using the synthesis equation combining landmark manifolds and image data to image 700 produces image 706. Image 706 is the final result of registering template image 700 with target image 708. Landmark manifold 710 in image 708 corresponds to landmark manifold 702 in template image 700.

Turning now to techniques to register images which may possess large deformation characteristics using diffeomorphisms, large deformation transform functions and transformations capable of matching images where the changes from one image to the other are greater than small, linear, or affine. Use of large deformation transforms provide for the automatic calculation of tangents, curvature, surface areas, and geometric properties of the imagery.

2. Methods for Large Deformation Landmark Based and Image Based Transformations

An embodiment consistent with the present invention maps sets of landmarks in imagery {x_(i), i=1,2, . . . , N} ⊂ Ω into target landmarks {y_(i), i=1, . . . , N}, and or imagery I₀ into target I₁ both with and without landmarks. For example when there is a well-defined distance function D(u(T)) expressing the distance between the landmarks and or imagery. The large deformation maps h: Ω→Ω are constructed by introducing the time variable,

h(x,t)=(x ₁ ,x ₂ ,x ₃ ,t)εΩ×[0,T]→h(x,t)=(x−u ₁(x,t),x ₂ −u ₂(x,t),x ₃ −u ₃(x,t))εΩ.

The large deformation maps are constrained to be the solution h(x, T)=x−u(x,T) where u(x, T) is generated as the solution of the ordinary differential equation $\begin{matrix} {{{{u\left( {x,T} \right)} = {\int_{o}^{T}{\left( {I - {\nabla{u\left( {x,t} \right)}}} \right){v\left( {x,t} \right)}{t}}}},\quad {where}}{{{v\left( {x,t} \right)} = {\sum\limits_{k - 0}^{\infty}{v_{k}{\phi_{k}\left( {x,t} \right)}}}},\quad {\left( {x,t} \right) \in {\Omega \quad \times \left\lbrack {0,T} \right\rbrack}}}} & (39) \end{matrix}$

assuming that the {φ_(k)} forms a complete orthonormal base.

A differomorphism for the landmark and image matching problem is given by the mapping of the imagery given by ĥ(x,T)=x−û(x,T) satisfying the Ordinary Differential Equation (O.D.E.) $\begin{matrix} {{\hat{u}\left( {x,T} \right)} = {\int_{o}^{T}{\left( {I - {\nabla{\hat{u}\left( {x,t} \right)}}} \right){\hat{v}\left( {x,t} \right)}{t}}}} & (40) \end{matrix}$

$\begin{matrix} {{{where}{\hat{v}\left( {x,t} \right)} = \arg_{vi}},{{\min\limits_{{k = 1},\ldots}\quad {\int_{o}^{T}{\int_{\Omega}{{{L\quad {v\left( {x,t} \right)}}}^{2}{x}{t}}}}} + {{D\left( {u(T)} \right)}.}}} & (41) \end{matrix}$

L is preferably a linear differential operator with the φ_(k) forming a complete orthonormal base as the eigenfunctions Lφ_(k)=λ_(k)φ_(k).

2.1 Large Deformation Landmark Matching

In order to register images with large deformation using a landmark matching technique, N landmarks are identified in the two anatomies targert {x_(i), y_(i), i=1,2, . . . , N}. The landmarks are identified with varying degrees of accuracy {Σ_(i), i=1, . . . , N}, the Σ_(i), 3×3 covariance matrices. The distance between the target and template imagery landmarks is preferably defined as

$\begin{matrix} {{D_{1}\left( {u(T)} \right)}\overset{.}{=}{\sum\limits_{i = 1}^{N}{\left( {y_{i} - x_{i} - {u\left( {x_{i},T} \right)}} \right){{\Sigma_{i}^{- 1}\left( {y_{i} - x_{i} - {u\left( {x_{i},T} \right)}} \right)}.}}}} & (42) \end{matrix}$

A preferable differomorphism is the minimizer of Eqns. 40, 41 with D(u(T)) the landmark distance: $\begin{matrix} {{\hat{u}\left( {x,T} \right)} = {\int_{0}^{T}{\left( {I - {\nabla{u\left( {x,t} \right)}}} \right){\hat{v}\left( {x,t} \right)}{t}}}} & (43) \end{matrix}$

$\begin{matrix} {{{where}\quad {\hat{v}\left( {x,t} \right)}} = {\arg \quad {\min\limits_{v_{k},{k = 1},\ldots}{{\left( {{H(u)}(T)} \right)\overset{.}{=}{{\int_{o}^{T}{\int_{\Omega}{{{L\quad {v\left( {x,t} \right)}}}^{2}{x}{t}}}} + {{D_{1}\left( {u(T)} \right)}{).}}}}}}}} & (44) \end{matrix}$

A method for registering images consistent with the present invention preferably includes the following steps:

STEP 0: Define a set of landmarks in the template which can be easily identified in the target {x_(i):x_(i) εΩ, i=1,2, . . . , N} with varying degrees of accuracy in the target as {yi, i=1, . . . , N} with associated error covariance {Σ_(i), i=1, . . . , N}, and initialize for n=0, ν.=0.

STEP 1: Calculate velocity and deformation fields: $\begin{matrix} {{{v^{(n)}\left( {x,t} \right)} = {\sum\limits_{k = 0}^{\infty}{v_{k}^{(n)}{\phi_{k}\left( {x,t} \right)}}}},{{u^{(n)}\left( {x,T} \right)} = {\int_{o}^{T}{\left( {I - {\nabla{u^{(n)}\left( {x,t} \right)}}} \right){v^{(n)}\left( {x,t} \right)}{{t}.}}}}} & (45) \end{matrix}$

STEP 2: Solve via a sequence of optimization problems from coarse to fine scale via estimation of the basis coefficients {ν_(k)}, analogous to multi-grid methods with the notion of refinement from coarse to fine accomplished by increasing the number of basis components. For each ν_(k), $\begin{matrix} {{v_{k}^{({n + 1})} = {{v_{k}^{(n)} - {\Delta \quad \frac{\partial{H\left( v^{(n)} \right)}}{\partial v_{k}}}} = {v_{k}^{(n)} - {\Delta \quad \left( {{\lambda_{k}^{2}v_{k}^{(n)}} = \frac{\partial{D\left( {u^{(n)}(T)} \right)}}{\partial v_{k}}} \right)}}}}{where}\text{}\begin{matrix} {{{(1)\quad \frac{\partial{D\left( {u(T)} \right)}}{\partial v_{k}}} = \quad {{- 2}\quad {\sum\limits_{i = 1}^{N}{\langle{{y_{i} - x_{i} - {u^{(n)}\left( {x,T} \right)}},\frac{\partial{u^{(n)}\left( {x,T} \right)}}{\partial\gamma_{k}}}\rangle}}}}\quad} \\ \begin{matrix} {{(2)\quad \frac{\partial{u^{(n)}\left( {x,T} \right)}}{\partial v_{k}}} = \quad {{\int_{o}^{T}{\left( {I - {\nabla{u^{(n)}\left( {x,t} \right)}}} \right){\phi_{k}\left( {x,t} \right)}{t}}} -}} \\ {\quad {\int_{o}^{T}{{\nabla\quad \frac{\partial{u^{(n)}\left( {x,t} \right)}}{\partial v_{k}}}{v^{(n)}\left( {x,t} \right)}{{t}.}}}} \end{matrix} \end{matrix}} & (46) \end{matrix}$

STEP 3: Set n←n+1, and return to Step 1.

2.2 Large Deformation Image Matching

Turning now to the technique where a target and template image with large deformation are registered using the image matching technique. The distance between the target and template image is chosen in accordance with Eqn. 47. A diffeomorphic map is computed using an image transformation operator and image transformation boundary values relating the template image to the target image. Subsequently the template image is registered with the target image using the diffromorphic map.

Given two images I₀, I₁, choose the distance $\begin{matrix} {{D_{2}\left( {u(T)} \right)}\overset{.}{=}{\gamma {\int_{{\lbrack{0,1}\rbrack}^{3}}{{{{I_{0}\left( {x - {u\left( {x,T} \right)}} \right)} - {I_{1}(x)}}}^{2}{{x}.}}}}} & (47) \end{matrix}$

The large deformation image distance driven map is constrained to be the solution ĥ(x,T)=x−û(x,T) where $\begin{matrix} {{\hat{u}\left( {x,T} \right)} = {\int_{o}^{T}{\left( {I - {\nabla{\hat{u}\left( {x,t} \right)}}} \right){\hat{v}\left( {x,t} \right)}{t}\quad {and}}}} & (48) \end{matrix}$

A method for registering images consistent with the present invention preferably includes the following steps: $\begin{matrix} {{\hat{v}\left( {x,t} \right)} = {\arg \quad {\min\limits_{\{{{V\text{:}\quad {v{({x,t})}}} = {\sum\limits_{k}{v\quad k\quad \phi \quad k}}}\}}{\left( {{H(v)}\overset{.}{=}{{\int_{o}^{T}{\int_{\Omega}{{{L\quad {v\left( {x,t} \right)}}}^{2}{x}{t}}}} + {D_{2}\left( {u(T)} \right)}}} \right).}}}} & (49) \end{matrix}$

STEP 0: Measure two images I₀, I₁ defined on the unit cube Ω≈[0,1]³⊂R⁸, initialize parameters for n=0, ν_(k) ^((n))=0, k=0,1, . . . , and define distance measure D(u(T)) Eqn. 47.

STEP 1: Calculate velocity and deformation fields from ν^((n)): $\begin{matrix} {{{v^{(n)}\left( {x,t} \right)} = {\sum\limits_{k = 0}^{\infty}{v_{k}^{(n)}{\phi_{k}\left( {x,t} \right)}}}},{{u^{(n)}\left( {x,T} \right)} = {\int_{0}^{T}{\left( {I - {\nabla{u^{(n)}\left( {x,t} \right)}}} \right){v^{(n)}\left( {x,t} \right)}{{t}.}}}}} & (50) \end{matrix}$

STEP 2: Solve optimization via sequence of optimization problems from coarse to fine scale via re-estimation of the basis coefficients {ν_(k)}, analogous to multi-grid methods with the notion of refinement from coarse to fine accomplished by increasing the number of basis components. For each ν_(k), $\begin{matrix} {{v_{k}^{({n + 1})}\overset{.}{=}{{v_{k}^{(n)} - {\Delta \quad \frac{\partial{H\left( v^{(n)} \right)}}{\partial v_{k}}}} = {v_{k}^{(n)} - {\Delta \quad \left( {{\lambda_{k}^{2}v_{k}^{(n)}} + \frac{\partial{D\left( {u^{(n)}(T)} \right)}}{\partial v_{k}}} \right)}}}}{where}} & (51) \\ {\left( {{{\frac{\partial{D\left( {u(T)} \right)}}{\partial v_{k}}}}} \right)_{u^{(n)}} = {{- 2}\quad \gamma {\int_{\Omega}{\left( {{I_{0}\left( {x - {u^{(n)}\left( {x,T} \right)}} \right)} - {I_{1}(x)}} \right){{\nabla_{u}{I_{0}\left( {x - {u^{(n)}\left( {x,T} \right)}} \right)}} \cdot \frac{\partial{u^{(n)}\left( {x,T} \right)}}{\partial v_{k}}}{x}}}}} & (52) \end{matrix}$

STEP 3: Set n←n+1, and return to Step 1.

The velocity field can be constructed with various boundary conditions, for example ν(x,t)=0, xεδΩ and tε[0, T], u(x, 0)=ν(x, 0)=0. The differential operator L can be chosen to be any in a class of linear differential operators; we have used operators of the form (−aΔ−b∇∇·cI)^(p), p≧1. The operators are 3×3 matrices $\begin{matrix} {{\nabla^{T}u} = \begin{pmatrix} \frac{\partial u_{1}}{\partial x_{1}} & \frac{\partial u_{1}}{\partial x_{2}} & \frac{\partial u_{1}}{\partial x_{3}} \\ \frac{\partial u_{2}}{\partial x_{1}} & \frac{\partial u_{2}}{\partial x_{2}} & \frac{\partial u_{2}}{\partial x_{3}} \\ \frac{\partial u_{2}}{\partial x_{1}} & \frac{\partial u_{2}}{\partial x_{2}} & \frac{\partial u_{2}}{\partial x_{3}} \end{pmatrix}} & (53) \\ \begin{matrix} {L = \quad {{{- a}\quad \Delta} - {b\quad {\nabla\quad {\nabla^{*}{+ c}}}\quad I}}} \\ {= \quad \begin{pmatrix} {{{- a}\quad \Delta} - {b\frac{\partial^{2}}{\partial x_{1}^{2}}} + c} & {{- b}\frac{\partial^{2}}{{\partial x_{1}}x_{2}}} & {{- b}\frac{\partial^{2}}{{\partial x_{1}}x_{3}}} \\ {{- b}\frac{\partial^{2}}{{\partial x_{2}}x_{1}}} & {{{- a}\quad \Delta} - {b\frac{\partial^{2}}{\partial x_{2}^{2}}} + c} & {{- b}\frac{\partial^{2}}{{\partial x_{2}}x_{3}}} \\ {{- b}\frac{\partial^{2}}{{\partial x_{3}}x_{1}}} & {{- b}\frac{\partial^{2}}{{\partial x_{3}}x_{2}}} & {{{- a}\quad \Delta} - {b\frac{\partial^{2}}{\partial x_{3}^{2}}} + c} \end{pmatrix}} \end{matrix} & (54) \end{matrix}$

2.3 Small Deformation Solution

The large deformation computer algorithms can be related to the small deformation approach described in the '212 patent, by choosing ν=u, so that T=δ small, then approximate I−∇u(·,σ)≈I for σε[0, δ), then û(x, δ)=σ(x)δ and defining u(x)≈u(x, δ), so that Eqn. 55 reduces to the small deformation problems described in the '212 patent: $\begin{matrix} {{\hat{u}(x)} = {{\arg \quad {\min\limits_{{v_{n},{k = 1},\quad {.\quad.\quad.}}\quad}{\int_{\Omega}{{{{Lu}(x)}}^{2}{x}{t}}}}} + {{D(u)}.}}} & (55) \end{matrix}$

3. Composing Large Deformation Transformation Unifying Landmark and Image Matching

The approach for generating a hierarchical transformation combining information is to compose the large deformation transformations which are diffeomorphisms and can therefore be composed, h=h_(n) ^(o). . . h₂ o_(h) ₁. Various combinations of transformations may be chosen, including the affine motins, rigid motions generated from subgroups of the generalized linear group, large deformation landmark transformations which are diffeomorphisms, or the high dimensional large deformation image matching transformation (the dimension of the transformations of the vector fields are listed in increasing order). Since these are all diffeomorphisms, they can be composed.

4. Fast Method for Landmark Deformations Given Small Numbers of Landmarks

For small numbers of landmarks, we re-parameterize the problem using the Lagrangian frame, discretizing the optimization over space time Ω×T, into N functions of time T. This reduces the complexity by an order of magnitude given by the imaging lattice [Ω].

For this, define the Lagrangian positions of the N-landmarks x_(i), i=1, . . . , N as they flow through time φ_(i)(·), i=1, . . . , N, with the associated 3N-vector $\begin{matrix} {{\Phi (t)}{= \underset{3N \times 1}{\underset{\backslash_{{——}_{\backslash/}{——}^{/}}}{\begin{pmatrix} {\phi \left( {X_{1},t} \right)} \\ {\phi \left( {X_{2},t} \right)} \\ . \\ . \\ . \\ {\phi \left( {X_{N},t} \right)} \end{pmatrix}}}}} & (56) \end{matrix}$

The particle flows Φ(t) are defined by the velocities ν(·) according to the fundamental O.D.E. $\begin{matrix} {\frac{{\phi \left( {t,x} \right)}}{t} = {{v\left( {{\phi \left( {t,x} \right)},t} \right)}.}} & (57) \end{matrix}$

It is helpful to define the 3N×3N covariance matrix K(Φ(t)): $\begin{matrix} {{K\left( {\Phi (t)} \right)}\underset{\underset{3N \times 3N}{\quad \backslash_{{———————————————————}_{\backslash/}{————————————————————}^{/}}}}{\overset{.}{=}{\begin{pmatrix} {K\left( {{\phi \left( {t,x_{1}} \right)},{\phi \left( {t,x_{1}} \right)}} \right)} & {K\left( {{\phi \left( {t,x_{1}} \right)},{\phi \left( {t,x_{2}} \right)}} \right)} & {.\quad.\quad.} & {K\left( {{\phi \left( {t,x_{1}} \right)},{\phi \left( {t,x_{N}} \right)}} \right)} \\ {K\left( {{\phi \left( {t,x_{2}} \right)},{\phi \left( {t,x_{1}} \right)}} \right)} & {K\left( {{\phi \left( {t,x_{2}} \right)},{\phi \left( {t,x_{2}} \right)}} \right)} & {.\quad.\quad.} & {K\left( {{\phi \left( {t,x_{2}} \right)},{\phi \left( {t,x_{N}} \right)}} \right)} \\ . & . & . & . \\ . & . & . & . \\ . & . & . & . \\ {K\left( {{\phi \left( {t,x_{N}} \right)},{\phi \left( {t,x_{1}} \right)}} \right)} & {K\left( {{\phi \left( {t,x_{N}} \right)},{\phi \left( {t,x_{2}} \right)}} \right)} & {.\quad.\quad.} & {K\left( {{\phi \left( {t,x_{N}} \right)},{\phi \left( {t,x_{N}} \right)}} \right)} \end{pmatrix}.}}} & (58) \end{matrix}$

The inverse K(Φ(t))⁻¹ is an N×N matrix with 3×3 block entries (K(Φ(t))⁻¹)_(ij), i, j=1, . . . , N.

For the landmark matching problem, we are given N landmarks identified in the two anatomies target {x_(i), y_(i), i=1,2, . . . , N}, identified with varying degrees of accuracy {Σ_(i.), i=1, . . . N}, the Σ_(i), 3×3 covariance matrices.

The squared error distance between the target and template imagery defined in the Lagrangian trajectories of the landmarks becomes $\begin{matrix} {{D_{1}\left( {\Phi (T)} \right)}\overset{.}{=}{\sum\limits_{i = 1}^{N}{\left( {y_{i} - {\phi \left( {T,x_{i}} \right)}} \right){{\Sigma_{1}^{- 1}\left( {y_{i} - {\phi \left( {T,x_{i}} \right)}} \right)}.}}}} & (59) \end{matrix}$

Then a preferable diffeomorphism is the minimizer of Eqns. 40, 41 with D₁(Φ(T)) the landmark distance: $\begin{matrix} {{{\hat{v}( \cdot )} = {{\arg \quad {\min\limits_{v}{\int_{o}^{T}{\int_{\Omega}{{{{Lv}\left( {x,t} \right)}}^{2}{x}{t}}}}}} + {D_{1}\left( {\Phi (T)} \right)}}},} & (60) \\ {{{where}\quad \overset{.}{\phi}}\overset{.}{=}{\frac{{\phi \left( {t,x} \right)}}{t} = {v\left( {{\phi \left( {t,x} \right)},t} \right)}}} & (61) \end{matrix}$

A fast method for small numbers of Landmark matching points exploits the fact that when there are far fewer landmarks N than points in the image x εΩ, there is the following equivalent optimization problem in the N-Lagrangian velocity fields φ(x_(i), ·), I=1, . . . , N which is more computationally efficient than the optimization of the Eulerian velocity ν(x_(i), ·), x εΩ, (|Ω|>>N). Then, the equivalent optimization problem becomes $\begin{matrix} {{\hat{v}\left( {x,t} \right)} = {\sum\limits_{i = 1}^{N}{{K\left( {{\phi \left( {t,x_{i}} \right)},x} \right)}{\sum\limits_{j = 1}^{N}{\left( {K\left( {\phi (t)} \right)}^{- 1} \right)_{ij}\quad {\phi \left( {x_{j},t} \right)}}}}}} & (62) \\ {{{{where}\quad \underset{{i = 1},\quad {.\quad.\quad.}\quad,N}{\phi \left( {x_{i}, \cdot} \right)}} \equiv {{\arg \quad {\min\limits_{\underset{{i = 1},\quad {.\quad.\quad.}\quad,N}{\phi {({x_{i}, \cdot})}}}{\int_{0}^{T}{\sum\limits_{ij}{{\overset{.}{\phi}\left( {x_{i},t} \right)}\left( {K\left( {\Phi (t)} \right)}^{- 1} \right)_{ij}{\phi \left( {x_{j},t} \right)}}}}}} + {D_{1}\left( {\Phi (T)} \right)}}},} & (63) \\ {{{and}\quad {\hat{\phi}\left( {x,T} \right)}} = {{\int_{0}^{T}{{\hat{v}\left( {{\hat{\phi}\left( {x,t} \right)},\sigma} \right)}{\sigma}}} + {x.}}} & (64) \end{matrix}$

This reduces to a finite dimensional problem by defining the flows on the finite grid of times, assuming step-size δ with Lagrangian velocities piecewise constant within the quantized time intervals: $\begin{matrix} {{{\overset{.}{\phi}\left( {x_{i},t} \right)} = \frac{{\phi \left( {x_{i},{k\quad \delta}} \right)} - {\phi \left( {x_{i},{\left( {k - 1} \right)\quad \delta}} \right)}}{\delta}},{t \in {\text{[}\left( {k - 1} \right)\delta}},{k\quad \delta \text{)}},\quad {k = 1},{{.\quad.\quad.\quad T}/{\delta.}}} & (65) \end{matrix}$

Then the finite dimensional minimization problem becomes ${\underset{{i = 1},\quad {.\quad.\quad.}\quad,N,{k = 1},\quad {.\quad.\quad.}\quad,{T/\delta}}{\hat{\phi}\left( {x_{i},k} \right)} = {{{\arg \quad {\min\limits_{\underset{{{i = 1},\quad {.\quad.\quad.}\quad,N}{{k = 1},\quad {.\quad.\quad.}\quad,{T/\delta}}}{\Phi {({x_{i},k})}}}{\frac{1}{\delta_{2}}{\sum\limits_{k = 1}^{T/\delta}{\sum\limits_{{ij} = 1}^{N}{{\left( {{\phi \left( {x_{i},k} \right)} - {\phi \left( {x_{i},{k - 1}} \right)}} \right)^{T}\left( {\int_{{({k - 1})}\delta}^{k\quad \delta}{\left( {K\left( {\Phi (t)} \right)}^{- 1} \right)_{ij}{t}}} \right)\left( {{\phi \left( {x_{j},k} \right)} - {\phi \left( {{x\quad j},k} \right)}} \right.}}}}}}} + {\sum\limits_{i = 1}^{N}{\left( {{\phi \left( {x_{1},{T/\delta}} \right)} - y_{i}} \right)^{1}{\Sigma_{1}^{- 1}\left( {{\phi \left( {x_{i},{T/\delta}} \right)} - y_{i}} \right)}{subject}\quad {to}\text{:}\quad {\phi \left( {x_{i},0} \right)}}}} = x_{i}}},{i = 1},{.\quad.\quad.}\quad,N$

The Method:

In order to properly register the template image with the target image when a small number of landmarks have been identified, the method of the present embodiment utilizes the Largrangian positions. The method for registering images consistent with the present invention includes the following steps:

STEP 0: Define a set of landmarks in the template which can be easily identified in the target {x_(i): x_(i) εΩ, i=1,2, . . . , N}, with varying degrees of accuracy in the target as {y_(i), i=1, . . . , N} with associated error covariance {Σ_(i), i=1, . . . , N}, and initialize for n=0, φ^((n))(x_(i), ·)=x_(i).

STEP 1: Calculate velocity and deformation fields: $\begin{matrix} {{{{\overset{.}{\phi}}^{(n)}\left( {x_{i},t} \right)} = \frac{{\phi^{(n)}\left( {x_{i},{k\quad \delta}} \right)} - {\phi^{(n)}\left( {x_{i},{\left( {k - 1} \right)\quad \delta}} \right)}}{\delta}},{t \in {\text{[}\left( {k - 1} \right)\delta}},{k\quad \delta \text{)}},\quad {k = 1},{{.\quad.\quad.\quad T}/{\delta.}}} & (66) \end{matrix}$

STEP 2: Solve via estimation of the Lagrangian positions φ(k), k=1, . . . , K. For each φ(x_(i), k), $\begin{matrix} {{{\phi^{({n + 1})}\left( {x_{i},k} \right)} = {{\phi^{(n)}\left( {x_{i},k} \right)} - {\Delta \left( \frac{\partial{P(\Phi)}}{\partial{\phi \left( {x_{i},k} \right)}} \middle| {\Phi^{(n)} + \frac{\left. {{\partial{D(\Phi)}^{(n)}}(T)} \right)}{\partial{\phi \left( {x_{i},k} \right)}}} \right)}}}{{{{where}\quad (1)}\quad \frac{\partial{D\left( {\Phi (T)} \right)}}{\partial{\phi \left( {x_{i},k} \right)}}} = {{\delta \left\lbrack {k - {T\text{/}\delta}} \right\rbrack}\left( {{{- Z}\quad y};{\sum\limits_{i}^{- 1}\quad {\Sigma_{i}^{- 1}\left( {{\phi \left( {x_{i},T} \right)} - y_{i}} \right)}}} \right)}}\quad \begin{matrix} {\quad {{(2)\quad \frac{\partial{P^{(n)}(\Phi)}}{\partial{\phi \left( {x_{i},k} \right)}}} = \quad {\sum\limits_{j = 1}^{N}\left\lbrack {{- 2}\left( {{\phi \left( {x_{j},{k + 1}} \right)} -} \right.} \right.}}} \\ {{{\quad \left. {\phi \left( {x_{j},k} \right)} \right)}{\int_{{(k)}\delta}^{{({k + 1})}\delta}{\left( {K\left( {\Phi (t)} \right)}^{- 1} \right)_{i\quad j}\quad {t}}}} +} \\ {\quad {{2\left( {{\Phi \left( {x_{j},k} \right)} - {\Phi \left( {x_{j},{k - 1}} \right)}} \right){\int_{({k - 1})}^{k\quad \delta}{\left( {K\left( {\Phi (t)} \right)}^{- 1} \right)_{i\quad j}\quad {t}}}} +}} \\ {\quad {\left. {\left( {x_{j},{k + 1}} \right) - {\phi \left( {x_{j},k} \right)}} \right)\int_{{(k)}\delta}^{{({k + 1})}\delta}}} \end{matrix}{\left( {K\left( {\Phi (t)} \right)}^{- 1} \right)_{i\quad j}\left( \frac{\left( \left. \left( {{\partial{K(\Phi)}}(t)} \right) \right) \right)^{- 1}}{\partial{\phi \left( {x_{i},k} \right)}} \right)_{i\quad i}\left( {K\left( {\Phi (t)} \right)}^{- 1} \right)_{i\quad j}\quad {{t\left( {{\phi \left( {x_{j},{k + 1}} \right)} - {\phi \left( {x_{j},k} \right)}} \right.}}}} & (67) \end{matrix}$

STEP 3: Set n←n+1, and return to Step 1.

STEP 4: After stopping, then compute the optimal velocity field using equation 62 and transform using equation 64.

5. Fast Greedy Implementation of large Deformation Image Matching

For the image matching, discretize space time Ω×T into a sequence of indexed in time optimizations, solving for the locally optimal at each time transformation and then forward integrate the solution. This reduces the dimension of the optimization and allows for the use of Fourier transforms.

The transformation h(;, t):Ω→Ω where h(x, t)=x−u(x, t), and the transformation and velocity fields are related via the O.D.E. ${{v\left( {x,t} \right)} = {\frac{\partial{u\left( {x,t} \right)}}{\partial i} + {{\nabla{u\left( {x,t} \right)}}{v\left( {x,t} \right)}}}},{t \in \left\lbrack {0,T} \right\rbrack}$

Preferably the deformation fields are generated from the velocity fields assumed to be piecewise constant over quantized time increments, ${{v\left( {x,i} \right)} = {v\left( {x,t_{i + 1}} \right)}},\quad {t\quad \in \left. \left\lbrack {{i\quad \delta},{\left( {i + 1} \right)\delta}} \right. \right)},{i = 1},{{\ldots \quad I} = \frac{T}{\delta}},\delta$

the quantized time increment. Then the sequence of deformations u(x,t_(i)), i=1, . . . I is given by $\begin{matrix} {{{u\left( {x,t_{i + 1}} \right)} = {{u\left( {x,t_{i}} \right)} + {{v\left( {x,t_{i}} \right)}\left( {\int_{t\quad i}^{{t\quad i} + 1}{\left( {I - {\nabla{u\left( {x,\sigma} \right)}}} \right)\quad {\sigma}}} \right)}}},{i =}\quad,\ldots \quad,{I.}} & (68) \end{matrix}$

For δ small, approximate ∇u(x,σ;)≈∇u(x,t_(i)),σε[t_(i),t_(i+1)], then the global optimization is solved via a sequence of locally optimal solutions according to for t_(i), I=1, . . . , I, $\begin{matrix} {{\hat{u}\left( {x,t_{i + 1}} \right)} = {{\hat{u}\left( {x,t_{i}} \right)} + {{\delta \left( {I - {\nabla^{T}{\hat{u}\left( {x,t_{i}} \right)}}} \right)}{\hat{v}\left( {x,t_{i}} \right)}}}} & (69) \\ {where} & \quad \\ \begin{matrix} {{\hat{v}\left( {x,t_{i + 1}} \right)} = \quad {\arg \quad {\min\limits_{\{{{v_{k}:{v({\bullet,t_{i + 1}})}} = {\sum\limits_{k}\quad {v\quad k\quad \phi \quad {k{({\bullet,T_{i + 1}})}}}}}}{\left( {H\left( {{{v\left( t_{i + 1} \right)}\overset{.}{=}}} \right.} \right.}}}} \\ {\left. \quad {{\int_{\Omega}{{{L\quad {v\left( {x,t_{i + 1}} \right)}}}^{2}\quad {x}}} + {D\left( {u\quad \left( {\bullet,t_{i + 1}} \right)} \right)}} \right).} \end{matrix} & \quad \end{matrix}$

The sequence of locally optimal velocity fields {circumflex over (ν)}(x,t_(i)),i=1, . . . I satisfy the O.D.E.

L ⁺ L{circumflex over (ν)}(x,t _(i)+1)=b(x,û(x,t _(i+1))) where û(x,t _(i+1))=û(x,t _(i))+δ(I−∇û( x,t _(i))){circumflex over (ν)}(x,t _(i)).  (70)

Examples of boundary conditions include ν(x,t)=0, xεδΩ and tε[0,T]and L the linear differential operator L=−a∇²−b∇·∇+cI. The body force b(x−u(x,t)) is given by the variation of the distance D(u) with respect to the field at time t. The PDE is solved numerically (G. E. Christensen, R. D. Rabbitt, and M. I. Miller, “Deformable templates using large deformation kinematics,” IEEE Transactions on Image Processing, 5(10):1435-1447, October 1996 for details (hereinafter referred to as Christensen).

To solve for fields u(·, t_(i)) at each t_(i), expand the velocity fields Σ^(k)V_(k)(t_(i))φ_(k)(·). ν(·,t_(i))=Σ^(k) Vk(t_(i))φk(·). To make the inner-products required by the iterative algorithms into shift invariant convolution, force the differential and difference operators L to be defined on a periodic version of the unit cube Ω≈[0,1]³ and the discrete lattice cube {0,1, . . . , N−1}³. f·g denotes the inner-product ${{f \cdot g} = {\sum\limits_{i}^{3}\quad {= {1f_{i}g_{i}\quad {for}\quad f}}}},{g \in {R^{3}.}}$

The operators are cyclo-stationary in space, implying their eignen functions are of the form of complex exponentials on these cubes: ${{\varnothing_{k}^{(d)}(x)} = {\begin{bmatrix} c_{1k}^{(d)} \\ c_{2k}^{(d)} \\ c_{3k}^{(d)} \end{bmatrix}^{j\quad w\quad {k \cdot x}}}},{d = 1},2,3$ with x = (x₁, x₂, x₃) ∈ [0, 1]³, w_(k) = (ω_(k  1), ω_(k  2), ω_(k  3)), ω_(k_(I  )) = 2π  k_(i), i = 1, 2, 3,

and the Fourier basis for periodic functions on [0,1]³ takes the form e^(j<ω) ^(_(k,)) ^(x>), <ω_(k), x>=ω_(k1)x₁+ω_(k2)x₂+ω_(k3)x₃. On the discrete N³=periodic lattice, ${\omega_{k} = \left( {\frac{2\quad \pi \quad k_{1}}{N},\frac{2\quad \pi \quad k_{2}}{N},\frac{3\quad \pi \quad k_{3}}{N}} \right)},,{x \in {\left\{ {0,1,\ldots \quad,{N - 1}} \right\}^{3}.}}$

This supports an efficient implementation of the above algorithm exploiting the Fast Fourier Transform (FFT).

Suppressing the d subscript on ν_(k,d) and the summation from d=1 to 3 for the rest of this section simplifies notation. The complex coefficients ν_(k)(t_(i))=a_(k)(t_(i))+b_(k)(t_(i)) have complex-conjugate symmetry because they are computed by taking the FFT of a real valued function as seen later in this section. In addition, the eigen functions have complex-conjugate symmetry due to the 2π periodicity of the complex exponentials. Using these two facts, it can be shown that the vector field $\begin{matrix} {{v\left( {x,t_{i}} \right)} = {{\sum\limits_{k = 0}^{N - 1}\quad {{v_{k}\left( t_{i} \right)}\quad {\phi_{k}(x)}}} = {{2{\sum\limits_{k = 0}^{{N/2} - 1}\quad {{a_{k}\left( t_{i} \right)}\quad {Re}\left\{ {\phi_{k}(x)} \right\}}}} - {{b_{k}\left( t_{i} \right)}{Im}\left\{ {\phi_{k}(x)} \right\}}}}} & (71) \end{matrix}$

is R³ valued even though body ν_(k)(t_(i)) and φ_(k)(x) are complex valued. The minimization problem is solved by computing for each v_(k)=a_(k)+b_(k), $\begin{matrix} {{g_{k}^{({n + 1})}\overset{.}{=}{{g_{k}^{(n)} - {\Delta \quad \frac{\partial{H\left( {v^{(n)}\left( {x,t_{i}} \right)} \right)}}{\partial g_{k}}}} = {g_{k}^{(n)} - {\Delta \left( {{\lambda_{k}^{2}g_{k}^{(n)}} + \frac{\partial{D\left( {u^{(n)}\left( {x,t_{i}} \right)} \right)}}{\partial g_{k}}} \right)}}}}{where}{\frac{\partial{D\left( {u^{(n)}\left( {x,t_{i}} \right)} \right)}}{\partial g_{k}} = {{- 2}\quad \gamma {\int_{\Omega}{\left( {{I_{0}\left( {x - {u^{(n)}\left( {x,t_{i}} \right)}} \right)} - {I_{1}(x)}} \right){{\nabla_{u}{I_{0}\left( {x - {u^{(n)}\left( {x,t_{i}} \right)}} \right)}} \cdot \frac{\partial{u^{(n)}\left( {x,t_{i}} \right)}}{\partial g_{k}}}{x}}}}}} & (72) \end{matrix}$

and g_(k) ε{a_(k), b_(k)}. Combining Eqs. 70 and 71 and taking derivatives gives $\begin{matrix} {{\frac{\partial{u^{(n)}\left( {x,t_{i}} \right)}}{\partial a_{k}} = {2\quad {\delta \left( {I - {\nabla{u\left( {x,t_{i}} \right)}}} \right)}{Re}\left\{ {\phi_{k}(x)} \right\}}}\frac{\partial{u^{(n)}\left( {x,t_{i}} \right)}}{\partial b_{k}} = {{- 2}\quad {\delta \left( {I - {\nabla{u\left( {x,t_{i}} \right)}}} \right)}\quad {Im}\quad \left\{ {\phi_{k}(x)} \right\}}} & (73) \end{matrix}$

Consider the computation of the following terms of the algorithm from equations 73, $\begin{matrix} {\left. {{Term}\quad 1\text{:}\quad {\int_{\Omega}{\left( {{I_{o}\left( {x - {u\left( {x,t_{i}} \right)}} \right)} - {I_{1}(x)}} \right){\nabla I_{o}}}}} \middle| {}_{x - {u{({x,t_{i}})}}}{{\cdot \left( {I - {\nabla{u\left( {x,t_{i}} \right)}}} \right)}{\phi_{k}(x)}\quad {x}} \right.,} \\ {{{{Term}\quad 2\text{:}\quad {v\left( {x,t_{i}} \right)}} = {\sum\limits_{k = 0}^{N - 1}\quad {\sum\limits_{d = 1}^{3}\quad v_{k}}}},{{\left( t_{i} \right)}{\phi_{k}^{(d)}(x)}}} \end{matrix}$

Computation of Term 1:

The first term given by $\left. {{\theta \left( t_{i} \right)} = {{\int_{\Omega}{\sum\limits_{d = 1}^{3}\quad \left( {{I_{0}\left( {x - u} \right)}\left( {x_{i},t_{i}} \right)} \right)}} - {I_{1}(x)}}} \right)\quad {\nabla I_{0}}{_{x - {u{({x,t_{i}})}}}{{{\cdot \left( {I - {\nabla_{u}\left( {x,t_{i}} \right)}} \right)}{\phi_{k}^{(d)}(x)}{x}},}}$

can be written as $\left. {\left. {{\theta \left( t_{i} \right)} = {{\int_{\Omega}{\sum\limits_{d = 1}^{3}\quad \left( {{I_{0}\left( {x - u} \right)}\left( {x,t_{i}} \right)} \right)}} - {I_{1}(x)}}} \right)\quad {\nabla I_{0}}} \middle| {}_{x - {u{({x,t_{i}})}}}{{\cdot {\left( {I - {\nabla_{u}\left( {x,t_{i}} \right)}} \right)\begin{bmatrix} c_{1k}^{(d)} \\ c_{2k}^{(d)} \\ c_{3k}^{(d)} \end{bmatrix}}}^{j\quad w\quad {k \cdot x}}{x}} \right.$

This equation can be computed efficiently using three 3D FFTs of the form θ_(s), (t_(i)) = ∫_(Ω)f_(s)(x, t_(i))^(j  ω  b ⋅ x)x where ${f_{3}\left( {x,t_{i}} \right)} = \left\lbrack {\sum\limits_{d = 1}^{3}\quad {\left( {{I_{0}\left( {x - {u\left( {x,t_{i}} \right)}} \right)} - {I_{1}(x)}} \right){\nabla I_{0}}}} \middle| {}_{x - {u{({x,t_{i}})}}}{{\cdot \left( {I - {\nabla{u\left( {x,t_{i}} \right)}}} \right)}c_{3k}^{(d)}} \right\rbrack$

and s=1,2,3. These FFTs are used to evaluate Eq. 72 by noticing: $\left\lbrack \frac{\partial{d\left( {u^{(n)}\left( {x,t_{i}} \right)} \right)}}{\partial g_{k}} \right\rbrack,{= {{{- 4}\quad \gamma \quad {Re}\quad \left\{ {\theta,\left( t_{i} \right)} \right\} \quad {{and}\quad\left\lbrack \frac{\partial{d\left( {u^{(n)}\left( {x,t_{i}} \right)} \right)}}{\partial b_{k}} \right\rbrack}_{3}} = {4\quad \gamma \quad {Im}{\left\{ {\theta_{s},\left( t_{i} \right)} \right\}.}}}}$

Computation of Term 2:

The second term given by $\begin{matrix} {{v\left( {x,t_{i}} \right)} = {{\sum\limits_{k = 0}^{N - 1}\quad {\sum\limits_{d = 1}^{3}\quad {{v_{k,d}\left( t_{i} \right)}\quad {\phi_{k}^{(d)}(x)}}}} = {\sum\limits_{k = 0}^{N - 1}\quad {\sum\limits_{d = 1}^{3}\quad {{{v_{k,d}\left( t_{i} \right)}\begin{bmatrix} c_{1k}^{(d)} \\ c_{2k}^{(d)} \\ c_{3k}^{(d)} \end{bmatrix}}^{j\quad {\omega_{k} \cdot x}}}}}}} & (74) \end{matrix}$

can be computed efficiently using three 3D FFTs. Specifically the 3D FFTs are $\begin{matrix} {{v_{s}\left( {x,t_{i}} \right)} = {\sum\limits_{k = 0}^{N - 1}\quad {{h_{i}\left( {k,t_{i}} \right)}^{j\quad {\omega_{k} \cdot x}}}}} & (75) \end{matrix}$

for s=1,2,3 and ${h_{i}\left( {k,t_{i}} \right)} = {\sum\limits_{d = 1}^{3}\quad {{v_{k,d}\left( t_{i} \right)}{c_{3k}^{(d)}.}}}$

Using the FFT to compute the terms in the method provides a substantial decrease in computation time over brute force computation. For example, suppose that one wanted to process 256³ voxel data volumes. The number of iterations is the same in both the FFT and brute force computation methods and therefore does not contribute to our present calculation. For each 3D summation in the method, the brute force computation requires on the order N⁶ computations while the FFT requires on the order 3N³log₂(N) computations. For N³=256³ voxel data volumes this provides approximately a 7×10⁵ speed up for the FFT algorithm compared to brute force calculation.

6. Rapid Convergence Algorithm for Large Deformation Volume Transformation

Faster converging algorithms than gradient descent exist such as the conjugate gradient method for which the basis coefficients ν_(k) are updated with optimal step sizes.

The identical approach using FFTs follows as in the '212 patent. Identical speed-ups can be accomplished; see the '212 patent.

6.1 An Extension to General Distance Functions

Thus far only the Gaussian distance function has been described measuring the disparity between imagery has been described as ∫|I₀(x−u(x))−I₁(x)|²dx. More general distance functions can be written as ∫D(I₀(x−u(x))), I₁(x))dx. A wide variety of distance functions are useful for the present invention such as the correlation distance, or the Kullback Liebler distance can be written in this form.

6.2 Computational Complexity

The computational complexity of the methods herein described is reduced compared to direct computation of the inner-products. Assuming that the image is discretized on a lattice of size N³ each of the inner-products in the algorithm, if computed directly, would have a computational complexity of O((N³)²). As the inner-products are most computationally intensive, the overall complexity of the method is O((N³)²). Now in contrast, each of the FFTs proposed have a computational complexity of O(N³ log₂N³), and hence the total complexity of the proposed algorithm is O(N³ log₂ N³). The speed up is given by the ratio N⁶ /(N³ log2 N³)=N³/(3 log₂ N). Thus the speed up is 64 times for 16×16×16 volume and greater than 3.2×10⁴ speed up for a 256×256×256 volume.

A further factor of two savings in computation time can be gained by exploiting the fact that all of the FFTs are real. Hence all of the FFTs can be computed with corresponding complex FFTs of half the number of points (see Oppenheim).

6.3 Boundary Conditions of the Operator

Additional methods similar to the one just described can be synthesized by changing the boundary conditions of the operator. In the previous section, the inimization problem was formulated with cyclic boundary conditions. Alternatively, we could use the mixed Dirichlet and Neumann boundary conditions corresponding to $\left. \frac{\partial u_{i}}{\partial x_{i}} \middle| \left( {\left. x \middle| x_{i} \right. = k} \right) \right. = {{u_{i}\left( {\left. x \middle| x_{j} \right. = k} \right)} = 0}$

for i,j=1,2,3; i≠j; k=0,1 where the notation (x|x_(i)=k) means xεΩ such that x_(i)=k. In this case the eigen functions would be of the form ${\varphi_{k}^{(d)} = {{\begin{bmatrix} {c_{1k}^{(d)}\cos \quad \omega_{k1}x_{1}\sin \quad \omega_{k2}x_{2}\sin \quad \omega_{k3}x_{2}} \\ {c_{2k}^{(d)}\sin \quad \omega_{k1}x_{1}\cos \quad \omega_{k2}x_{2}\sin \quad \omega_{k3}x_{3}} \\ {c_{3k}^{(d)}\sin \quad \omega_{k1}x_{1}\sin \quad \omega_{k2}x_{2}\cos \quad \omega_{k3}x_{3}} \end{bmatrix}\quad {for}\quad d} = 1}},2,3$

The implementation presented in Section 5 is modified for different boundary conditions by modifying the butterflys of the FFT from complex exponentials to appropriate sines and cosines.

7.0 Large Deformation Diffeomorphisms on a Sphere

In many applications, image registration algorithms operate on images of spherical objects. Accordingly, the following section extends the diffeomorphic landmark matching technique introduced above to create an embodiment of the present invention for registering images of objects having spherical geometries. A method for registering images using large deformation diffeomorphisms on a sphere comprises selecting a coordinate frame suitable for spherical geometries and registering the target and template image using a large deformation diffeomorphic transform in the selected coordinate frame.

While there are many applications that benefit from an image registration technique adapted to spherical geometries, one such example, registering brain images, is discussed herein to illustrate the technique. One skilled in the are will recognize that other imaging applications are equally suited for this technique, such as registering images of other anatomical regions and registering non-anatomical imagery containing spherical regions of interest.

An application of brain image registration is the visualization of cortical studies. Current methods of visualizing cortical brain studies use flat maps. Although flat maps bring the buried cortex into full view and provide compact representations, limitations are introduced by the artificial cuts needed to preserve topological relationships across the cortical surface. Mapping the cortical hemisurface to a sphere, however, allows points on the surface to be represented by a two-dimensional coordinate system that preserves the topology. Spherical maps allow visualization of the full extent of sulci and the buried cortex within the folds. An embodiment consistent with the present invention generates large deformation diffeomorphisms on the sphere S² which has a one-to-one correspondence with a reconstructed cortical surface.

These diffeomorphisms are generated as solutions to the transport equation: $\begin{matrix} {{\frac{{\varphi \left( {x,t} \right)}}{t} = {v\left( {{\varphi \left( {x,t} \right)},t} \right)}},{{\varphi \left( {x,0} \right)} = {x \in S^{2}}},{t \in {\left\lbrack {0,1} \right\rbrack.}}} & (76) \end{matrix}$

For the spherical coordinate maps, the final transformed coordinate map is defined as φ(·,1)ε S² and controlled through the ODE in equation 76 by the velocity field v(·, t), tε [0,1] constrained to be in the tangent space of the sphere.

The template image and target image spheres are characterized by the set of landmarks {x_(n), y_(n), n=1,2, . . . N}εS². Diffeomorphic matches are constructed by forcing the velocity fields to be associated with quadratic energetics on S²×[0,1]. The diffeomorphic landmark matching is constructed to minimize a running smoothness energy on the velocity field as well as the end point distance between the template and target landmarks.

Given noisy template landmarks x_(n)εS² matched to target landmarks y_(n) εS² measured with error variances σ_(n) ², a suitable diffeomorphism is given by: $\begin{matrix} {{{\frac{{\hat{\varphi}\left( {x,t} \right)}}{t} = {\hat{v}\left( {{\hat{\varphi}\left( {x,t} \right)},t} \right)}},{{\varphi \left( {x,0} \right)} = {x \in S^{2}}},{t \in \left\lbrack {0,1} \right\rbrack}}{where}} & (77) \\ {{{\hat{v}\left( {\cdot {, \cdot}} \right)} = {{\arg \quad {\min\limits_{{v{({\cdot {, \cdot}})}} = {\sum\limits_{i = 1}^{2}\quad {{v_{i}{({\cdot {, \cdot}})}}{E_{i}{( \cdot )}}}}}\quad {\sum\limits_{i = 1}^{2}\quad {\int_{S^{2}{x{\lbrack{0,1}\rbrack}}}{{{{{Lv}_{i}\left( {x,t} \right)}}\quad}^{2}{\quad {\mu (x)}}{t}}}}}} + {\sum\limits_{n = 1}^{N}\quad \frac{\Psi^{2}\left( {y_{n},{\varphi \left( {x_{n},1} \right)}} \right)}{\sigma_{n}^{2}}}}},} & (78) \end{matrix}$

where L is a differential operator, Ψ(x,y) is the solid angle between points x,y on the sphere, E_(i), i=1,2 are the coordinate frames on the sphere and dμ(x)=sinΨdΨdθ is the surface measure.

The velocity field should be represented so that ${v\left( {\cdot {, \cdot}} \right)} = {\sum\limits_{i = 1}^{2}\quad {{v_{i}\left( {\cdot {, \cdot}} \right)}{E_{i}( \cdot )}}}$

are in the span of E₁ and E₂, a basis that spans the tangent space of the sphere S². An azimuth/elevation parameterization for this space is: θε[0, 2π], ψε(0, π), let x be the chart:

x(θ,ψ)=(sinψcosθ, sinψsinθ,cosψ).  (79)

The coordinate frames are given by $\frac{x}{\quad \theta}\quad {and}\quad \frac{x}{\quad \psi}$

according to: $\begin{matrix} {{\frac{x}{\quad \theta} = \left( {{{- \sin}\quad \psi \quad \sin \quad \theta},{\sin \quad \psi \quad \cos \quad \theta},0} \right)},} & (80) \\ {\frac{x}{\quad \psi} = {\left( {{{- \cos}\quad \psi \quad \cos \quad \theta},{\cos \quad \psi \quad \sin \quad \theta},{{- \sin}\quad \psi}} \right).}} & (81) \end{matrix}$

However, these frames vanish at ψ=0, π, namely the north and south poles of the sphere and leave these two points transformation-invariant. When no non-vanishing continuous vector field exists on the sphere S², an alternative parameterization that has non-zero coordinate frames everywhere except at one point is appropriate. This is acceptable because each hemisphere of the brain is mapped to a sphere individually, and the area they are attached to each other is transformation invariant. For some applications, this conforms to an anatomical constraint, e.g., the point at which the brain attached to the spine. Moreover, the location producing zero-valued coordinate frames can be user selected by computing a rigid alignment to move this location in the image. One example of such an alignment involves aligning the sets of landmarks by computing a rigid transform (which, in a spherical coordinate frame, is a rotation) and then applying another rigid transform to ensure that the fixed points are aligned correctly.

An embodiment of the present invention uses stereographic projection to parameterize the nit sphere corresponding to the right hemisphere of the brain, with the center shifted to (−1,0,0) and take the shadow (u,v) of each point in the yz plane while shining a light from point (−2,0,0). Note that the shadow of the point from where the light source is located is a infinity, and this becomes the point where the coordinate frames vanish. The location of the light source and the projection plane can be adjusted to place the transformation invariant point as needed. Let P denote the stereographic projection from S²\(−2,0,0) to (u,v)εR². $\begin{matrix} {{\left. {{P\text{:}\left( {{x_{1}\left( {\theta,\psi} \right)},{x_{2}\left( {\theta,\psi} \right)},{x_{3}\left( {\theta,\psi} \right)}} \right)} \mid}\rightarrow\left( {{u\left( {\theta,\psi} \right)},{v\left( {\theta,\psi} \right)}} \right) \right. = {\left( {\frac{2x_{2}}{2 + x_{1}},\frac{2x_{3}}{2 + x_{1}}} \right) \in R^{2}}},} & (82) \end{matrix}$

and the chart P⁻¹ mapping (u,v) back into S² is given by: $\begin{matrix} {\left. {{p^{- 1}\text{:}\left( {u,v} \right)} \mid}\rightarrow\left( {{x_{1}\left( {\theta,\psi} \right)},{x_{2}\left( {\theta,\psi} \right)},{x_{3}\left( {\theta,\psi} \right)}} \right) \right. = {\left( {\frac{2\left( {u^{2} + v^{2}} \right)}{u^{2} + v^{2} + 4},\frac{4u}{u^{2} + v^{2} + 4},\frac{4v}{u^{2} + v^{2} + 4}} \right) \in {S^{2}.}}} & (83) \end{matrix}$

The coordinate frames on the sphere E₁(θ,ψ), E₂(θ,ψ) become: $\begin{matrix} {{{E_{1}\left( {\theta,\psi} \right)} = \left( {\frac{16{u\left( {\theta,\psi} \right)}}{\left( {{u^{2}\left( {\theta,\psi} \right)} + {v^{2}\left( {\theta,\psi} \right)} + 4} \right)^{2}},\frac{\left( {{4{v\left( {\theta,\psi} \right)}^{2}} - {4{u\left( {\theta,\psi} \right)}^{2}} + 16} \right)}{\left( {{u\left( {\theta,\psi} \right)}^{2} + {v\left( {\theta,\psi} \right)}^{2} + 4} \right)^{2}},\frac{{- 8}{u\left( {\theta,\psi} \right)}{v\left( {\theta,\psi} \right)}}{\left( {{u\left( {\theta,\psi} \right)}^{2} + {v\left( {\theta,\psi} \right)}^{2} + 4} \right)^{2}}} \right)},} & (84) \\ {{E_{1}\left( {\theta,\psi} \right)} = \left( {\frac{16{v\left( {\theta,\psi} \right)}}{\left( {{u\left( {\theta,\psi} \right)}^{2} + {v\left( {\theta,\psi} \right)}^{2} + 4} \right)^{2}},\frac{{- 8}{u\left( {\theta,\psi} \right)}{v\left( {\theta,\psi} \right)}}{\left( {{u\left( {\theta,\psi} \right)}^{2} + {v\left( {\theta,\psi} \right)}^{2} + 4} \right)^{2}},{\frac{\left( {{4{v\left( {\theta,\psi} \right)}^{2}} - {4{u\left( {\theta,\psi} \right)}^{2}} + 16} \right)}{\left( {{u\left( {\theta,\psi} \right)}^{2} + {v\left( {\theta,\psi} \right)}^{2} + 4} \right)^{2}}.}} \right.} & (85) \end{matrix}$

Both E₁ and E₂ are 0 when p=(−2,0,0), but that is the transformation invariant point on the sphere representing the right hemisphere.

A similar parameterization can be obtained for the left hemisphere by shifting the center to (1,0,0) and shining the light from (2,0,0) which becomes the transformation invariant point. Accordingly, an appropriate coordinate frame for images containing objects having spherical geometry is generated for subsequent image registration.

Large deformation landmark matching on the sphere proceeds with diffeomorphisms constructed as solutions to the transport equation by forcing velocity fields to minimize quadratic energetics on S²×[0,1] defined by the Laplacian. The Laplacian operator on functions defined on the sphere in azimuth-elevation parameters is: $\begin{matrix} {{{Lf}\left( {\theta,\psi} \right)} = {{\nabla^{2}{f\left( {\theta,\psi} \right)}} = {\frac{\partial^{2}f}{\partial\psi^{2}} + {\cot \quad \psi \frac{\partial f}{\partial\psi}} + {\frac{1}{\sin^{2}\psi}{\frac{\partial^{2}f}{\partial\theta^{2}}.}}}}} & (86) \end{matrix}$

The energy associated with ${v\left( {\left( {\theta,\psi} \right),t} \right)} = {\sum\limits_{i = 1}^{2}\quad {{v_{i}\left( {\left( {\theta,\psi} \right),t} \right)}{E_{i}\left( {\theta,\psi} \right)}}}$

is: $\begin{matrix} {{E(v)}\overset{.}{=}{\int_{0}^{1}{\int_{S^{2}}{\sum\limits_{i = 1}^{2}{{{\nabla^{2}{v_{i}\left( {\left( {\theta,\psi} \right),t} \right)}}}^{2}\sin \quad \psi \quad {\psi}\quad {\theta}{{t}.}}}}}} & (87) \end{matrix}$

The covariance operator is then computed using spherical harmonics. The covariance operator (which is the Green's function squared of the Laplacian operator) will determine the solution to the diffeomorphic matching (see equation 93 below). Spherical harmonics Y_(nm) of order n form a complete orthogonal basis of the sphere that correspond to the eigenfunctions of the differential operator ∇²Y_(nm)=−n(n+1)Y_(nm). There are (2 n+1) spherical harmonics of order n for each n and they are of the even and odd harmonic form with 0≦m≦n:

Y_(nm) ^(e)(θ,ψ)=k _(nm) P _(n) ^(m)(cosψ)cosmθ  (88)

Y _(nm) ⁰(θ,ψ)=k _(nm) P _(n) ^(m)(cosψ)sinmθ  (89)

with P_(n) ^(m) the associated Legendre polynomials, and k_(nm) $k_{n\quad m} = \sqrt{\frac{{2n} + 1}{4\pi}\frac{\left( {n - m} \right)!}{\left( {n + m} \right)!}}$

normalization constants.

The Green's function on the sphere for two points p and q becomes $\begin{matrix} {{G\left( {{p\left( {\theta,\psi} \right)},{q\left( {\theta^{1},\psi^{1}} \right)}} \right)} = {{\sum\limits_{n = 1}^{\infty}{\frac{1}{n\left( {n + 1} \right)}{\sum\limits_{m = 0}^{n}{{Y_{n\quad m}^{e}(p)}{Y_{n\quad m}^{e}(q)}}}}} + {{Y_{n\quad m}^{o}(p)}{{Y_{n\quad m}^{o}(q)}.}}}} & (90) \end{matrix}$

Orthonormality of spherical harmonics and the addition theorem for spherical harmonics result in a covariance operator of the form: $\begin{matrix} \begin{matrix} {{K\left( {p,q} \right)} = \quad {{{GG}^{\dagger}\left( {p,q} \right)} = {\int_{S^{2}}{{G\left( {p,r} \right)}{G^{\dagger}\left( {r,q} \right)}\quad {(r)}}}}} \\ {= \quad {{K\left( {\Psi \left( {p,q} \right)} \right)} = {\sum\limits_{n = 1}^{\infty}{\frac{1}{{n^{2}\left( {n + 1} \right)}^{2}}\frac{{2n} + 1}{4\pi}{P_{n}\left( {\cos \quad {\Psi \left( {p,q} \right)}} \right)}}}}} \end{matrix} & (91) \end{matrix}$

where Ψ(p,q)=arccos(p₁q₁+p₂q₂+p₃q₃) is the solid angle between the points p and q. The covariance is shift invariant on the sphere and coordinate-free.

The resulting 2×2 covariance matrix K(p,q) and the 2N×2N matrix K(φ(t)) are: ${K\left( {p,q} \right)} = \begin{pmatrix} {\sum\limits_{n = 1}^{\infty}{\frac{1}{{n^{2}\left( {n + 1} \right)}^{2}}\frac{{2n} + 1}{4\pi}{P_{n}\left( {\cos \left( {\Psi \left( {p,q} \right)} \right)} \right)}}} & 0 \\ 0 & {\sum\limits_{n = 1}^{\infty}{\frac{1}{{n^{2}\left( {n + 1} \right)}^{2}}\frac{{2n} + 1}{4\pi}{P_{n}\left( {\cos \left( {\Psi \left( {p,q} \right)} \right)} \right)}}} \end{pmatrix}$ ${K\left( {\varphi (t)} \right)} = \underset{\underset{2N \times 2N}{\backslash_{{————————————}_{\backslash/}{————————————}^{/}}}}{\begin{pmatrix} {K\left( {{\varphi \left( {x_{1}t} \right)},{\varphi \left( {x_{1},t} \right)}} \right)} & {.\quad.\quad.} & {K\left( {{\varphi \left( {x_{1}t} \right)},{\varphi \left( {x_{N},t} \right)}} \right)} \\ . & . & . \\ . & . & . \\ . & . & . \\ {K\left( {{\varphi \left( {x_{N}t} \right)},{\varphi \left( {x_{1},t} \right)}} \right)} & {.\quad.\quad.} & {K\left( {{\varphi \left( {x_{N}t} \right)},{\varphi \left( {x_{N},t} \right)}} \right)} \end{pmatrix}}$

Instead of trying to solve the optimization problem directly in the velocity fields over all of space-time ν(x,t)εS²×[0, 1], the N-landmark trajectories and velocities are estimated as follows.

The large deformation landmark matching transformation on the sphere is given by the diffeomorphism: ${\frac{{\hat{\varphi}\left( {x,t} \right)}}{t} = {\hat{v}\left( {{\hat{\varphi}\left( {x,t} \right)},t} \right)}},{{\hat{\varphi}\left( {x,0} \right)} = x},{x \in S^{2}}$

with {circumflex over (ν)}solving the minimum problem $\begin{matrix} {{{\hat{v}\left( {\cdot {, \cdot}} \right)} = {{\arg \quad {\min\limits_{{v{({\cdot {, \cdot}})}} = {\sum\limits_{i = 1}^{2}{{v_{t}{({\cdot {, \cdot}})}}{E_{i}{( \cdot )}}}}}{\sum\limits_{i = 1}^{2}{\int_{S^{2} \times {\lbrack 0.1\rbrack}}{{{\nabla^{2}{v_{i}\left( {x,t} \right)}}}^{2}\quad {{\mu (x)}}{t}}}}}} + {\sum\limits_{n = 1}^{N}\frac{\Psi^{2}\left( {y_{n},{\varphi \left( {x_{n},1} \right)}} \right)}{\sigma_{n}^{2}}}}},} & (92) \end{matrix}$

where dμ(x)=sinφdφdθ and {circumflex over (ν)}(x,t) satisfies $\begin{matrix} {{{0\left( {x,t} \right)} = {{\sum\limits_{i = 1}^{2}{{v_{i}\left( {x,t} \right)}{E_{i}(x)}\text{:}\quad \begin{pmatrix} {{\hat{v}}_{1}\left( {x,t} \right)} \\ {{\hat{v}}_{2}\left( {x,t} \right)} \end{pmatrix}}} = {\sum\limits_{n = 1}^{N}{{K\left( {{\hat{\varphi}\left( {x_{n},t} \right)},x} \right)}{\sum\limits_{j = 1}^{N}{\left( {K\left( {\hat{\varphi}(t)} \right)}^{- 1} \right)_{nj}\begin{pmatrix} {{\hat{v}}_{1}\left( {x_{j},t} \right)} \\ {{\hat{v}}_{2}\left( {x_{j},t} \right)} \end{pmatrix}}}}}}}{and}} & (93) \\ {\begin{pmatrix} {{{\hat{v}}_{1}\left( {x_{n}, \cdot} \right)},{{\hat{v}}_{2}\left( {x_{n}, \cdot} \right)}} \\ {{n = 1},{.\quad.\quad.}\quad,N} \end{pmatrix} = {{\arg \quad {\min\limits_{(\begin{matrix} {{v_{1}{({x_{n}, \cdot})}},{v_{2}{({x_{n}, \cdot})}}} \\ {{n = 1},\quad {.\quad.\quad.}\quad,N} \end{matrix})}{\int_{0}^{1}{\sum\limits_{ij}{\begin{pmatrix} {v_{1}\left( {x_{i}, \cdot} \right)} \\ {v_{2}\left( {x_{i}, \cdot} \right)} \end{pmatrix}^{t}\left( {K\left( {\varphi (t)} \right)}^{- 1} \right)_{ij}\begin{pmatrix} {v_{1}\left( {x_{j}, \cdot} \right)} \\ {v_{2}\left( {x_{j}, \cdot} \right)} \end{pmatrix}\quad {t}}}}}} + {\sum\limits_{n = 1}^{N}\frac{\Psi^{2}\left( {y_{n},{\varphi \left( {x_{n},1} \right)}} \right)}{\sigma_{n}^{2}}}}} & (94) \end{matrix}$

where Ψ(y_(n), φ(x_(n), 1)) is the solid angle between the target landmark y_(n) and the final position of the template landmark φ(x_(n), 1).

The algorithm for landmark matching reduces the problem to a fine dimensional problem by defining the flows on the finite grid of fixed times of size δ, t_(k)=kδ, ${k = 0},1,{.\quad.\quad.}\quad,{K = {\frac{1}{\delta}.}}$

An embodiment of the present invention uses a gradient algorithm to register the images using the selected spherical coordinate frame and the derived large deformation diffeomorphic transform.

The finite dimensional minimization becomes {circumflex over (ν)}_(t)(x_(n), 0)=0, n=1, . . . , N, i=1,2 and $\begin{matrix} \begin{matrix} {\underset{{n = 1},\quad {.\quad.\quad.}\quad,N,{k = 1},\quad {.\quad.\quad.}\quad,K}{\begin{pmatrix} {{\hat{V}}_{1}\left( {X_{n},t_{k}} \right)} \\ {{\hat{V}}_{2}\left( {X_{n},t_{k}} \right)} \end{pmatrix}} = \quad {{\arg \quad {\min\limits_{{{v_{t}{({e_{n},t_{k}})}},{i = 1},2}{n = {1{\_ N}}}{k = {1{\_ K}}}}{\sum\limits_{k = 1}^{K}\quad {\sum\limits_{ij}\quad {\begin{pmatrix} {v_{1}\left( {x_{i},t_{k}} \right)} \\ {v_{2}\left( {x_{i},t_{k}} \right)} \end{pmatrix}^{t}\left( {\int_{t_{k - 1}}^{t_{k}}\left( {K\left( {\varphi (t)} \right)}^{- 1} \right)_{ij}} \right)\quad {{t\begin{pmatrix} {v_{1}\left( {x_{j},t_{k}} \right)} \\ {v_{2}\left( {x_{j},t_{k}} \right)} \end{pmatrix}}}}}}}} +}} \\ {\quad {\sum\limits_{n = 1}^{N}\quad \frac{\Psi^{2}\left( {y_{n},{\varphi \left( {x_{n},1} \right)}} \right)}{\sigma_{n}^{2}}}} \end{matrix} & (95) \end{matrix}$

The gradient algorithm for minimizing Eqn. 95 initializes with m=0 and ν^((O))(x_(n), t_(k))=0, n=1, . . . N, k=1, . . . , K, and iterates for m=0,1, . . .

Calculate gradient perturbation for each ν₁(x_(n), t_(k)), n=1, N, k=1, . . . , K, i=1,2: $\begin{matrix} {{\begin{pmatrix} {v_{1}^{({m + 1})}\left( {x_{n},t_{k}} \right)} \\ {v_{2}^{({m + 1})}\left( {x_{n},t_{k}} \right)} \end{pmatrix} = {\begin{pmatrix} {v_{1}^{(m)}\left( {x_{n},t_{k}} \right)} \\ {v_{2}^{(m)}\left( {x_{n},t_{k}} \right)} \end{pmatrix} - {\Delta \begin{pmatrix} {{\frac{\delta}{\delta \quad {v_{1}\left( {x_{n},t_{k}} \right)}}{P^{m}\left( {v_{1},v_{2}} \right)}} + {\frac{\delta}{\delta \quad {v_{1}\left( {x_{n},t_{k}} \right)}}{D\left( {\varphi^{(m)}(1)} \right)}}} \\ {{\frac{\delta}{\delta \quad {v_{2}\left( {x_{n},t_{k}} \right)}}{P^{m}\left( {v_{1},v_{2}} \right)}} + {\frac{\delta}{\delta \quad {v_{2}\left( {x_{n},t_{k}} \right)}}{D\left( {\varphi^{(m)}(1)} \right)}}} \end{pmatrix}}}},{where}} & (96) \\ {{D\left( {\varphi (1)} \right)} = {\sum\limits_{n = 1}^{N}\quad {\frac{\Psi^{2}\left( {y_{n},{\varphi \left( {x_{n},1} \right)}} \right)}{\sigma_{n}^{2}}{\delta \left\lbrack {t_{k} - 1} \right\rbrack}}}} & (97) \\ {{P^{m}\left( {v_{1},v_{2}} \right)} = {\sum\limits_{k = 1}^{K}\quad {\sum\limits_{ij}\quad {\begin{pmatrix} {v_{1}^{m}\left( {x_{i},t_{k}} \right)} \\ {v_{2}^{m}\left( {x_{i},t_{k}} \right)} \end{pmatrix}^{t}\left( {\int_{t_{k - 1}}^{t_{k}}\left( {K\left( {\varphi (t)} \right)}^{- 1} \right)_{ij}} \right)\quad {{t\begin{pmatrix} {v_{1}^{m}\left( {x_{j},t_{k}} \right)} \\ {v_{2}^{m}\left( {x_{j},t_{k}} \right)} \end{pmatrix}}}}}}} & (98) \end{matrix}$

δ[t_(k)−1]=1 for t_(k)=1, and 0 otherwise, Δ is the gradient step.

After stopping, define the final iterate as {circumflex over (ν)}_(i)=ν_(i) ^((m+1)), and for all x εS² $\begin{pmatrix} {{\hat{v}}_{1}\left( {x,t} \right)} \\ {{\hat{v}}_{2}\left( {x,t} \right)} \end{pmatrix} = {\sum\limits_{n = 1}^{N}{{K\left( {{\hat{\varphi}\left( {x_{n},t} \right)},x} \right)}{\sum\limits_{j = 1}^{N}\quad {\left( {K\left( {\hat{\varphi}(t)} \right)}^{- 1} \right)_{nj}{\begin{pmatrix} {{\hat{v}}_{1}\left( {x_{j},t} \right)} \\ {{\hat{v}}_{2}\left( {x_{j},t} \right)} \end{pmatrix}.}}}}}$

8. Apparatus for Image Registration

FIG. 2 shows an apparatus to carry out an embodiment of this invention. A medial imaging scanner 214 obtains image 100 and 120 and stores them in computer memory 206 which is connected to computer control processing unit (CPU) 204. One of the ordinary skill in the art will recognize that a parallel computer platform having multiple CPUs is also a suitable hardware platform for the present invention, including, but not limited to, massively parallel machines and workstations with multiple processors. Computer memory 206 can be directly connected to CPU 204, or this memory can be remotely connected through a communications network.

The methods described herein use information either provided by an operator, stored as defaults, or determined automatically about the various substructures of the template and the target, and varying degrees of knowledge about these substructures derived from anatomical imagery, acquired from modalities like CT, MRI, functional MRI, PET, ultrasound, SPECT, MEG, EEG or cryosection. For example, an operator can guide cursor 210 using pointing device 208 to select in image 100.

The foregoing description of the preferred embodiments of the present invention has been provided for the purpose of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously many modifications, variations and simple derivations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to be understand the invention for various embodiments and with various modifications are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents. 

We claim:
 1. A method for registering a template image with a target image, the template image containing a plurality of points and the target image containing a plurality of points, comprising: defining at least one manifold landmark point in said template image; identifying at least one point in said target image corresponding to said defined at least one manifold landmark point; selecting a coordinate frame suitable for spherical geometries; computing a large deformation transform using said selected coordinate frame, at least one manifold landmark transformation operator, and at least one manifold landmark transformation boundary value, said large deformation transform relating said at least one manifold landmark point in said template image to said corresponding at least one point in said target image; and registering said template image with said target image using said large deformation transform in the selected coordinate frame.
 2. The method of claim 1, wherein the step of computing a large deformation transform further includes the substep of computing a diffeomorphic transform.
 3. The method of claim 1, wherein the step of computing a large deformation transform further includes the substep of accessing at least one precomputed transform value.
 4. The method of claim 1, wherein the step of computing a large deformation transform further includes the substep of using a fast Fourier transform.
 5. The method of claim 1, wherein the step of defining at least one manifold landmark point in said template image includes the substep of: performing at least one of: defining at least one manifold landmark point of dimension greater than zero in said template image; defining at least one point in said template image; defining points of a curve in said template image; defining points of a surface in said template image; or defining points of a volume in said template image.
 6. The method of claim 1, wherein the step of computing a large deformation transform includes the substep of: using at least one of a linear differentiable operator, a periodic boundary value, an infinite boundary value, mixed Dirichlet and Neumann boundary values, a Neumann boundary value, or a Dirichlet boundary value.
 7. A method for registering a template image with a target image, comprising: selecting a coordinate frame which is two-dimensional only and which is suitable for spherical geometries; and registering the target and template image using a large deformation transform in the selected coordinate frame.
 8. The method of claim 7, wherein the step of registering the target and template image further includes the substep of computing a diffeomorphic transform.
 9. The method of claim 7, wherein the step of registering the target and template image further includes the substep of accessing at least one precomputed transform value.
 10. The method of claim 7, wherein the step of registering the target and template image further includes the substep of using a fast Fourier transform.
 11. The method of claim 7 further including, prior to registering the target and template image: performing at least one of: defining at least one manifold landmark point of dimension greater than zero in said template image; defining at least one point in said template image; defining points of a curve in said template image; defining points of a surface in said template image; or defining points of a volume in said template image.
 12. A method for registering a template image with a target image, wherein the template image contains a plurality of points and the target image contains a plurality of points, comprising: selecting a coordinate frame suitable for spherical geometries; computing a first large deformation transform using at least one manifold landmark transformation operator relating at least one manifold landmark point in said template image to at least one corresponding point in said target image; computing a second large deformation transform using at least one image transformation operator relating said template image to said target image; fusing said first and second large deformation transforms; and registering said template image with said target image using said fused large deformation transforms in said selected coordinate frame.
 13. An apparatus for registering a template image with a target image, the template image containing a plurality of points and the target image containing a plurality of points, comprising: means for defining at least one manifold landmark point in said template image; means for identifying at least one point in said target image corresponding to said defined at least one manifold landmark point; means for selecting a coordinate frame suitable for spherical geometries; means for computing a large deformation transform using said selected coordinate frame, at least one manifold landmark transformation operator, and at least one manifold landmark transformation boundary value, said large deformation transform relating said at least one manifold landmark point in said template image to said corresponding at least one point in said target image; and means for registering said template image with said target image using said large deformation transform in the selected coordinate frame.
 14. An apparatus for registering a template image with a target image, the template image containing a plurality of points and the target image containing a plurality of points, comprising: means for selecting a coordinate frame which is two-dimensional only and which is suitable for spherical geometries; and means for registering the target and template image using a large deformation transform in the selected coordinate frame.
 15. An apparatus for registering a template image with a target image, the template image containing a plurality of points and the target image containing a plurality of points, comprising: a coordinate frame which is two-dimensional only and which is suitable for spherical geometries; and a registration processor for registering the target and template image using a large deformation transform in the selected coordinate frame.
 16. An apparatus for registering a template image with a target image, wherein the template image contains a plurality of points and the target image contains a plurality of points, comprising: a pointing device for defining at least one manifold landmark point in said template image and for identifying at least one point in said target image corresponding to said at least one defined manifold landmark point; a coordinate frame selector for selecting a coordinate frame suitable for spherical geometries; a first data processing unit for computing a first large deformation transform using a manifold landmark transformation operator relating said at least one manifold landmark point in said template image to said corresponding at least one point in said target image; a distance quantifier for defining a distance between said target image and said template image; a second data processing unit for computing a second large deformation transform using an image transformation operator relating said template image to said target image; and a third data processing unit for fusing said first and second large deformation transforms; and a fourth data processing unit for registering said template image with said target image using said fused large deformation transforms in said coordinate frame suitable for spherical geometries.
 17. A computer program product for use in a computer adapted for registering a template image with a target image, the computer program product comprising a computer readable medium for storing computer readable code means, which when executed by the computer, enables the computer to register a template image with a target image, and wherein the computer readable code means includes computer readable instructions for causing the computer to execute a method comprising: selecting a coordinate frame which is two-dimensional only and which is suitable for spherical geometries; and registering the target and template image using a large deformation transform in the selected coordinate frame. 